mysql不能正确的使用 联合索引
在一个表上有2个联合索引y(a,b,c),x(a,c) 我查询的时候 select * from table where a=1201 order by c desc limit 20 的时候用explain查看,发现mysql用的是y索引 这样我在extra里看到有filesort,而不是我想要的x索引,这个怎么办?怎么才能用到我的x索引
select * from table FORCE INDEX (x) where a=1201 order by c desc limit 20 使用 Index Hint 详见MYSQL官方手册 MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html ok,我发现有的时候是使用x索引,有的时候是y 这是为什么呢? 因为这个表的数据现在大概有 200多w,估计以后还会多,用了filesort感觉很慢引用 ok,我发现有的时候是使用x索引,有的时候是y 这是为什么呢? 提供你的 show create table xxxx; show index from xxxx; explain select * from table where a=1201 order by c desc limit 20 | tb_goods | 0 | PRIMARY | 1 | iid | A | 2350642 | NULL | NULL | | BTREE | NULL | | tb_goods | 1 | cid_total | 1 | cid | A | 5366 | NULL | NULL |
相关问答:
一个行业网站,要实现的功能要求为: 一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。 数据类型为innodb,当前的方法是对关键词进行 ......
Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢! 请各位给以提示。 你这个范围太广了,我说2点重要的吧 1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......
如题 数据是BLOB类型 怎么才能修改其中的某些值 BLOB中存入的是什么内容? 假设字段memo为blob类型,在该字段的值前面增加字符串'add--' 则操作语句如下: SQL code: update tb_blog set memo=concat( ......
我用的like模糊查询,比如mysql的name中有“csdn论坛系统”这几个字,如何在 <input>中查询“csdn 系统”也能出来这个“csdn论坛系统”,我现在是查“csdn”或者“系统”都可以。谢谢各位了!不知道我这么表达 ......
在安装Java编译器的Eclipse的时候,对环境变量进行了配置,在安装MySQl的时候也要对环境变量进行配置;那么后面的配置会影响前面的Eclipse的配置吗? 请大家多指教~!谢谢! 不会把,我这都装了的 我系统里 还装了 ......