日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

求教一個mysql建表分組索引問題

瀏覽:261日期:2022-06-10 18:20:28

問題描述

我在做一個網站程序,大致要求效果如下。用戶分為1-5這五個級別,數字越大權限越高。

我有一堆內容,級別越高的用戶可見內容越多。例如有內容:A、B、C、D、E,用戶組1的可見:A用戶組2的可見:A、B…………用戶組5的可見:A、B、C、D、E如果要實現這種功能,該如何建立數據庫索引比較好呢?

之前有朋友跟我說在內容(topic)表加上一列'group',寫上可見的用戶等級1-5,然后建立group_tid的聯合索引。然后查詢tid<100周圍文章(例如當前用戶組為3)時的語句就是:SELECT * FROM topic WHERE group>=3 AND tid<100 LIMIT 10;可實際發現這種索引是先將group>3的所有數據讀出來,再進行選擇查詢。假如有100萬條數據,有50萬個group>3,該語句執行就要從50萬條種篩選,效率極低。

看起來單列的索引只適用于group=*這樣的限制條件,而不能是<或>。所以想在此請教各路大神,有沒有過類似的需求?如何正確建立索引或分表?深表感謝!

補充1:其實把問題改變一下,就是如何在mysql兩個索引中使用<或>限定。這是個邏輯問題,目前的group_tid索引建立后類似于下圖:求教一個mysql建表分組索引問題

即便我對group進行了范圍限制,后面的tid還是在group的基礎上按順序排列的。如果我想知道group>1且tid<6的這種情況,不得不先把group2/3全部讀出再篩選。看起來只有重新規劃表結構,各位有沒有類似經驗?

補充2:剛才收到了熱心朋友的幫助回答,說這種情況他曾經遇到過。解決的方法是修改發布機制,將符合條件的帖子發布至各個等級。例如內容A的級別是3,那么發帖時要同時建立三個數據行:group=1,tid=Agroup=2,tid=Agroup=3,tid=A這樣在內容讀取時直接請求WHERE group=*都可以讀出符合條件內容。但這種方法需要添加大量的關聯數據,甚至造成重復,有沒有其他解決途徑呢?

問題解答

回答1:

其實你的思路已經很對了。

tid上建立索引,根據group分表。

如果group >=3的組,在程序中動態組合sql如下:

select * from group3 where tid < 100union all select * from group4 where tid < 100union all select * from group5 where tid < 100

以上索引生效,邏輯可用。

回答2:

首先說明一下,在 Innodb 中,索引生不生效跟你使用 < 或 > 沒有必然關系。也不是說用 = 就一定能用上索引。當全表查的性能要高于索引檢索查詢時,MySQL 會智能的放棄索引,選擇全表查詢。

如圖:求教一個mysql建表分組索引問題

回到你的問題,如果某個索引,如 tid<100 檢索出的范圍相對較小時,索引是能夠用上的。

如果這兩個索引的結果集都很大的話,是否考慮添加其他過濾條件,比如根據創建時間只查近一個月的內容。

分頁問題也可以通過主鍵ID來再次過濾。

回答3:

首先,需要明白以下幾點:

對于一個表的查詢,每次最多只使用一個索引

對于聯合索引,從左往右依次進行數據的篩選,所以如果第一個篩選條件針對了大于或者小于的話,第二個篩選條件由于在整個可選區域內沒有確切的索引范圍,所以會將第一個篩選條件篩除來的數據都跑一遍

B-Tree索引的結構類似于樹形結構,見下圖,聯合索引從左往右的檢索,起始就是這個結構從上往下查找分支的過程

索引的機制,簡單說來就是創建一個值到數據項的對應表,這樣可以快速的從某一字段某個值定位到某一行,省卻了跑整個表去找對應行的操作,所以比較快

B-Tree索引的結構:求教一個mysql建表分組索引問題

然后回到你的問題上,如果要大幅度提高效率,那么聯合索引的第一步就需要大幅度減少可以用于后續篩選的數據量,所以如果你要查tid < 100的話,先用tid篩選才能夠大幅度減少后續的B-Tree索引分支,所以如果要用聯合索引,則應該是(tid, group)。

回答4:

group條件的過濾性很差,單獨建立索引意義不大。

根據你描述的場景,只要tid的值不是太大(幾千的數量級),針對tid建立索引就可以了。如果還擔心tid條件過濾后的數據量大,可以創建tid,group的組合索引。

回答5:

首先非常感謝各位對我問題的關注和回答!!問題解決之后針對boxsnake的建議有一個思考,在這里發一下。group_tid這種索引方式除了解決讀取之外還能解決分頁問題,例如我每頁文章數量是10,用戶級別為3,那么讀取時分別從group1、group2、group3中,按范圍tid<100各取10篇,即便某group中沒有符合條件的結果,幾項加起來也可以覆蓋全。

但如果用tid_group這種索引方式來讀取,如果需要group<=3的情況,我不知道該取多少篇文章。比方說取10篇,tid90-tid99,如果他們的group都是4,那么就無法取出符合條件的數值。而tid_group在限定group之前又必須對tid進行限定,所以就沒法使用了。

相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品极品| 国产一区亚洲| 日韩精品成人在线观看| 久久精品国产久精国产| 夜夜嗨网站十八久久| 国产精品15p| 亚洲在线观看| 日韩不卡免费高清视频| 久久精品99国产精品日本| 午夜在线一区| 亚洲精品影视| av资源亚洲| 老司机精品久久| 久久久成人网| 精品久久网站| 久久超碰99| 日韩一区网站| 欧美日一区二区| 精品国产不卡| 黑丝美女一区二区| 少妇高潮一区二区三区99| 午夜在线播放视频欧美| 亚洲成人不卡| 极品裸体白嫩激情啪啪国产精品| 久久电影tv| 水蜜桃久久夜色精品一区| 美女久久久久久| 精品视频在线观看网站| 国产免费av国片精品草莓男男| 天堂成人免费av电影一区| 精品国产成人| 日本一区二区免费高清| 亚洲黄色免费av| 日韩在线短视频| 国户精品久久久久久久久久久不卡 | 黄页网站一区| 亚洲三区欧美一区国产二区| 亚洲精品字幕| 久久伊人久久| 午夜久久免费观看| 亚洲精品一二| 久久影院一区二区三区| 国产亚洲一区二区手机在线观看 | 亚洲欧美在线综合| 免费在线播放第一区高清av| 欧美日本久久| 国产在线观看www| 91精品一区国产高清在线gif | 高清久久精品| 香蕉视频成人在线观看| 亚洲一区二区毛片| 国产视频一区二| 欧美一区二区三区高清视频 | 里番精品3d一二三区| 欧美日韩激情| 国产精品网址| 亚洲欧美日本视频在线观看| 国产精品亚洲一区二区在线观看| 丝袜美腿诱惑一区二区三区| 日韩av电影一区| 99pao成人国产永久免费视频| 国产美女视频一区二区| 国产综合亚洲精品一区二| 国产激情一区| 蜜臀av一区二区三区| 久久精品国产大片免费观看| 精品欧美视频| 国产精品一线| 日韩国产一区二| 日韩精品免费视频人成| 激情婷婷久久| 国产精品久久| 久久99精品久久久野外观看| 欧美天堂一区| 亚洲精品进入| 精品三级在线观看视频| 日本综合字幕| 免费在线观看成人| 国产精品mv在线观看| 国产精品啊v在线| 国产精品探花在线观看| 久久影院一区二区三区| 日韩福利一区| 国产亚洲精品久久久久婷婷瑜伽| 久久不射网站| 日韩中文av| 久久久久久亚洲精品美女| 激情黄产视频在线免费观看| 99久久夜色精品国产亚洲1000部| 美女久久一区| 蜜桃久久久久| 久久高清免费观看| 国产精品地址| 亚洲香蕉网站| 亚洲免费成人av在线| 美腿丝袜在线亚洲一区| 欧美日韩国产免费观看 | 四虎4545www国产精品 | 国产中文欧美日韩在线| 在线综合亚洲| av中文字幕在线观看第一页| 免费视频久久| 久久男人av资源站| 视频福利一区| 麻豆免费精品视频| 亚洲精品电影| 91亚洲国产高清| 91亚洲无吗| 亚洲一区二区三区高清不卡| 精品丝袜久久| 97久久亚洲| 一区二区三区视频免费观看| 日韩激情综合| 国产精品丝袜xxxxxxx| 狠狠躁少妇一区二区三区| 婷婷五月色综合香五月| 亚洲三级毛片| 日韩国产欧美一区二区三区| 在线综合亚洲| 亚洲精品欧洲| 精品美女在线视频| 婷婷综合六月| 国产精品二区不卡| 国产毛片久久久| 日本亚洲欧美天堂免费| av不卡在线看| 精品国产a一区二区三区v免费| 免费在线看一区| 麻豆视频在线看| 六月婷婷综合| 国产精品久久久久久模特| 香蕉国产精品| 激情欧美国产欧美| 日本一区福利在线| 欧美激情福利| 欧美视频二区| 日本电影久久久| 亚洲综合电影| 免费黄网站欧美| 日本一区福利在线| 欧美啪啪一区| 日韩免费久久| 亚洲在线国产日韩欧美| 日韩激情啪啪| 国产精选一区| 视频一区中文字幕精品| 国产亚洲午夜| 免费精品视频| 欧美精品一卡| 国产美女精品| 蜜桃一区二区三区在线观看| 黑丝美女一区二区| 日本蜜桃在线观看视频| 国产一区精品福利| 麻豆国产精品一区二区三区| 国产亚洲欧美日韩精品一区二区三区| 欧美日韩国产在线一区| 欧美~级网站不卡| 亚州av乱码久久精品蜜桃| 色老板在线视频一区二区| 久久精品女人| 日韩电影二区| 夜久久久久久| 国产精品久久久久蜜臀| 日本久久成人网| 亚洲欧美日韩精品一区二区| 麻豆国产精品| 五月天久久久| 伊人久久婷婷| 啪啪国产精品| 日本欧美在线看| 免费在线观看一区二区三区| 国产精品欧美在线观看| 欧美极品一区二区三区| 国际精品欧美精品| 五月天综合网站| 欧美国产极品| 亚洲欧洲午夜| 国产一区二区三区亚洲| 激情丁香综合| 国产欧美三级| 丝瓜av网站精品一区二区 | 亚洲影院天堂中文av色| 国产精品久久久久久久久久10秀| 日本在线不卡视频| 日韩欧美二区| 国产精品成久久久久| 中文字幕日本一区| 午夜影院一区| 精品日产乱码久久久久久仙踪林| 久久性天堂网| 亚洲激情婷婷| 91成人在线| 四虎精品一区二区免费| 欧洲亚洲一区二区三区| 久久精品国产福利| 久久不卡日韩美女| 日韩激情综合| 日本午夜精品久久久久| 视频一区二区国产|