国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

mysql - sql索引問題

瀏覽:102日期:2022-06-14 10:34:57

問題描述

有3個語句。

where cid=?

where id=? and ownerid=?

where cid=? and ownerid=?

現(xiàn)在id已經(jīng)是主鍵索引了。請問這樣的情況表表應該如何加索引?

分別對ownerid,cid添加索引嗎?

還有一種情況,另一個表:where cid=? and userid=?where userid=?where cid=?這3個sql語句應該如何添加索引?分別對userid和cid添加索引?

問題解答

回答1:

第一種加一個(cid,ownerid)的索引 順序不要顛倒 關于id和ownerid的不用加了 id已經(jīng)是主鍵了 再加ownerid的索引純屬多余

第二種加一個(cid,userid)和userid

當然這兩種情況嚴格來說都需要確認哪個字段的選擇性高 如果差別很大的話 建議根據(jù)情況把復合索引的第一個字段使用選擇性高的字段

回答2:

情況1

ALTER TABLE test_table ADD INDEX index1 (id,ownerid);

ALTER TABLE test_table ADD INDEX index2 (cid,ownerid);

情況2

ALTER TABLE test_table ADD INDEX index3 (cid,userid);

ALTER TABLE test_table ADD INDEX index4 (userid);

回答3:

針對第一個的三條sql語句:

alter table `table_name` add key idx_ownerid_cid(`ownerid`, `cid`);

第二個表的語句:

alter table `table_name` add key idx_cid_useridid(`cid`, `userid`);alter table `table_name` add key idx_userid(`userid`);回答4:

第一種情況加這個索引就可以了

alter table `table_name` add key idx_cid_ownerid(`cid`,`ownerid`);

第二種情況樓上說得對。

相關文章:
主站蜘蛛池模板: 囊谦县| 连城县| 普兰县| 清涧县| 黑河市| 阜康市| 珲春市| 德钦县| 库车县| 怀宁县| 萍乡市| 龙江县| 武陟县| 龙海市| 新河县| 汾阳市| 山丹县| 五大连池市| 马公市| 颍上县| 咸丰县| 色达县| 科技| 将乐县| 社旗县| 神农架林区| 拉萨市| 理塘县| 汉源县| 墨江| 金沙县| 绍兴县| 昔阳县| 且末县| 察雅县| 海宁市| 江安县| 天镇县| 醴陵市| 德江县| 灵璧县|