mysql如何创建索引覆盖
答案:1 悬赏:60 手机版
解决时间 2021-01-16 04:54
- 提问者网友:别再叽里呱啦
- 2021-01-15 12:38
mysql如何创建索引覆盖
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-01-15 13:34
你的意思是通过建立足够多的索引,而不必去读行数据吗? 那就要把你的查询where 的每一个字段都要添加一个索引,是单独的字段,不要组合的字段索引。
组合索引是两个及以上的字段组合到一起,这样的话,只有where 前两个判断都到用到这个组合字段才有用,其他情况是用不到索引的。比如索引 a,b 只有where a=xx and b=xx的时候有用。
你的意思可能就是 where a=xx AND b=xx AND c=XX, 那么,要把这三个字段都要添加索引才行
索引也是需要空间的,建议最常用的查询字段建立索引就行了
追问你说的通过索引覆盖而不去读数据行,没错我就是要这个效果
我想问的是SQLSERVER里有组合索引,和MYSQL是一样的,但是SQLSERVER可以用户include 的命令去进行索引的覆盖,注意是索引覆盖不是组合索引,SQLSERVER里的所以覆盖只是可以通过查到索引的时候可以得到对应覆盖字段数据,但是被覆盖的索引不具备索引的特性。
所以我就在想MYSQL里是否也有这种方式?
组合索引是两个及以上的字段组合到一起,这样的话,只有where 前两个判断都到用到这个组合字段才有用,其他情况是用不到索引的。比如索引 a,b 只有where a=xx and b=xx的时候有用。
你的意思可能就是 where a=xx AND b=xx AND c=XX, 那么,要把这三个字段都要添加索引才行
索引也是需要空间的,建议最常用的查询字段建立索引就行了
追问你说的通过索引覆盖而不去读数据行,没错我就是要这个效果
我想问的是SQLSERVER里有组合索引,和MYSQL是一样的,但是SQLSERVER可以用户include 的命令去进行索引的覆盖,注意是索引覆盖不是组合索引,SQLSERVER里的所以覆盖只是可以通过查到索引的时候可以得到对应覆盖字段数据,但是被覆盖的索引不具备索引的特性。
所以我就在想MYSQL里是否也有这种方式?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯