已采纳回答 / Kollen
简单解释,组合索引index(a,b) 会创建基于a,ab创建两个索引。你想一下创建索引的原则是什么?如果某列的离散度很低,一个表有100w行数据,该列只有两种不同的值,你会在该列上创建索引吗? 所以就明白了,如果a的离散度很低,在a上创建索引和前面分析的原则是不是矛盾了。总结,就是要降低扫描索引的消耗,为什么离散度高了可以降低,这是btree的结构问题
2016-07-31
已采纳回答 / 慕侠3252176
这个可不一定啊,如果只有一个字段的索引,比如:key(city_code),使用的查询就是select city_code from tab where ...的话,这个就可以说是覆盖索引了,但是并不是联合索引啊
2016-06-07
已采纳回答 / 7751
set global 只是全局session生效,重启后失效,如果需要以上配置永久生效,需要在mysql.ini(linux mysql.cnf)中配置[mysqld]slow_query_log = 1log_queries_not_using_indexes = 1long_query_time = 0.1slow_query_log_file = c:\mysql\log\mysqlslowquery.log
2016-04-21
已采纳回答 / 大老唐
0和2都是每秒从缓冲区写入文件一次。区别是commit操作时,0不做任何操作,为2 的时候,commit时会把缓冲区内容写入文件。文档上是这么写的:If the value of innodb_flush_log_at_trx_commit is 0, the log buffer is written out to the log file once per second and the flush to disk operation is performed on the log file, but ...
2016-02-20