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

您的位置:首頁技術(shù)文章
文章詳情頁

mysql - sql索引問題

瀏覽:121日期: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)的索引 順序不要顛倒 關(guān)于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`);

第二種情況樓上說得對。

相關(guān)文章:
主站蜘蛛池模板: 施甸县| 兴业县| 嘉善县| 福州市| 黄平县| 乐都县| 五寨县| 乡城县| 唐山市| 南京市| 柯坪县| 禄丰县| 澳门| 朝阳县| 邵武市| 姚安县| 鹰潭市| 合川市| 宝应县| 东乌珠穆沁旗| 西昌市| 德安县| 囊谦县| 化德县| 旺苍县| 朝阳市| 左贡县| 安多县| 江山市| 靖西县| 彰化县| 莱西市| 静宁县| 隆德县| 伊春市| 新河县| 东阳市| 禄劝| 民乐县| 尉犁县| 章丘市|