计算字段长度
为什么表中某个字段里面只有500个字,length是1300?原因在这里: 1、length:汉字长度视为3,数字或字母长度视为1; 2、char_length:任意字符的长度统一视为1;
联合索引与单列索引
当创建(a,b,c)联合索引时,相当于创建了三个索引: 1、(a)单列索引; 2、(a,b)联合索引; 3、(a,b,c)联合索引 ; 想要索引生效的话,只能使用a和a,b和a,b,c三种组合; 其实,a,c组合也可以,但实际上只用到了a的索引,c并没有用到!
1、需要加索引的字段,要在where条件中; 2、数据量少的字段不需要加索引;因为建索引有一定开销,如果数据量小则没必要建索引(速度反而慢); 3、如果where条件中是OR关系,加索引不起作用; 4、联合索引比对每个列分别建索引更有优势,因为索引建立得越多就越占磁盘空间,在更新数据的时候速度会更慢。另外建立多列索引时,顺序也是需要注意的,应该将严格的索引放在前面,这样筛选的力度会更大,效率更高。
池化连接
通常需要设置4个参数:初始值数、最大值数、最小空闲数及最大空闲数;具体值取决于DB设置的最大连接数、并发数以及集群中服务器的数量;
DB最大连接数通常设置为:1K或2K;
MySQL
5.1.17以上版本默认的最大连接数为:151,上限为:10W;
5.1.17以下版本默认的最大连接数为:100,上限为:16384;