MySQL官方读写分离软件-MaxScale

摘要:服务器环境:[root@node155 ~]# rpm -qa | grepmaxscalemaxscale-2.4.2-1.x86_64[root@node155 ~]# cat /etc/redhat-release CentOS release 6.9 (Final)[root@node155 ~]# uname -aLinux node155 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 2119:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 配置拓扑图:本文利用一主两从的复制架构介绍Maxscale读写分离的实现,环境如下:&nb

 MySQL条件中的IS NULL、IS NOT NULL、!=不能用索引吗?

摘要:不知道从什么时候开始,网上流传着这么一个说法:MySQL的WHERE子句中包含 IS NULL、IS NOT NULL、!= 这些条件时便不能使用索引查询,只能使用全表扫描。这种说法愈演愈烈,甚至被很多同学奉为真理。咱啥话也不说,举个例子。假如我们有个表s1,结构如下:CREATE TABLE s1 ( id INT NOT NULL AUTO_INCREMENT, key1 VARCHAR(100), key2 VARCHAR(100), key3 V

 MYSQL- Lock--gap before rec insert intention waiting:意向锁(IX)等待

摘要:在事务插入数据过程中,为防止其他事务向索引上该位置插入数据,会在插入之前先申请插入意向范围锁,而如果申请插入意向范围锁被阻塞,则事务处于gap before rec insert intention waiting的等待状态。MySQL官方文档解释如下:INSERT sets an exclusive lock on the inserted row. This lock is an index-record lock, not a next-key lock (that is, there is no gap lock) an

 MySQL-字符串char(m)和varchar(m),m:表示字符个数,还是字节大小?

摘要:char(m)    定长字符串类型 非Unicode 字符varchar(m)变长字符串类型  非 Unicode 数据说明:M为最大可存储字节数汉子占两个字节,通过指定m,来限制存储的最大字符数长度,char(20)和varchar(20)将最多只能存储20个字符,超过的字符将会被截掉。m必须小于该类型允许的最大字符数。 一char(m)类型Char(m)   最大字节数255   定长类

 MySQL复合索引比主键索引还快,为什么?

摘要:存储引擎:innodb题目如下: create table t( id primary, ver int, content varchar(3000), intro varchar(3000) ) engine innodb charset utf8; 表有10000条数据,按如下条件查询: select id from t order by id  #慢 select id from t order by id,ver #快 为什么?  实验如下: 创建一个innodb引擎的表: create table smth( id int(11) not null default &

 MySQL联合索引深度解析

摘要:题目:假设某个表有一个联合索引(c1,c2,c3,c4),以下那个只能使用联合索引的c1,c2,c3部分:A.where c1=x and c2=x and c4>x and c3=xB.where c1=x and c2=x and c4=x order by c3C.where c1=x and c4=x group by c3,c2D.where c1=? and c5=? order by c2,c3E.wherre c1=? and c2=? and c5=? order by c2,c3创建一张表并插入数据:root@db5.7.18[test]> use test;Database

 终于明白为什么要“分库分表”了!

摘要:例如:单表中出现了,动辄百万甚至千万级别的数据。“分表分库”就成为解决上述问题的有效工具。今天和大家一起看看,如何进行分表分库以及期间遇到的问题吧。为什么会分表分库数据库数据会随着业务的发展而不断增多,因此数据操作,如增删改查的开销也会越来越大。再加上物理服务器的资源有限(CPU、磁盘、内存、IO 等)。最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈

 MySQL--SQL语句优化之 left join

摘要:工作中我们经常用到多个left join去关联其他表查询结果,但是随着数据量的增加,一个表的数据达到百万级别后,这种普通的left join查询将非常的耗时。原SQL:SELECT a.*,b.*,b.diff_num,b.supplier_id,b.num,b.price,c.product_id,c.old_spec_sku,c.new_purchase_price,d.old_parent_sku,d.product_cname FROM hexin_erp_storage_out_main a left JOIN hexin_erp_storage_out_de

 修改主机时间对MySQL影响-InnoDB: Waiting for page_cleaner to finish flushing of buffer pool

摘要:背景在装机实施时,BIOS忘记调整时间,导致服务器时间与CST不符合;待发现问题时,MySQL环境已经在运行,所以只能通过操作系统进行更改;但是更改完成后,MySQL进行重启时发生了问题。以下为问题复现和解决过程测试环境MySQL 5.7.24 CentOS 7.4root@localhost : (none) 12:00:54> show variables like '%time_zone';+------------------+--------+| Variable_name | Value |

 MySQL:为什么无法KILL在processlist中的语句[转]

摘要:在 MySQL 中有两个 kill 命令:一个是 kill query + 线程 id,表示终止这个线程中正在执行的语句;一个是 kill connection + 线程 id,这里 connection 可缺省,表示断开这个线程的连接,当然如果这个线程有语句正在执行,也是要先停止正在执行的语句的。不知道你在使用 MySQL 的时候,有没有遇到过这样的现象:使用了 kill 命令,却没能断开这个连接。再执行 show processlist
分页:« 1 2 3 4 5 6 7 8 9 10 »
Powered by AKCMS