1樓:我tm不管
select *
from bbs_task
where exists (select 1
from bbs_friend
where uid = 3322
and fuid = bbs_task.uid)
order by id desc limit 10;
select *
from bbs_thread
where exists (select 1
from bbs_topic
where author_id = 3322
and thread = bbs_thread.id
group by thread)
order by post_time desc limit 10;
select *
from bbs_thread
where exists (select 1
from bbs_topic
where author_id = 3322
and best = 1
and thread = bbs_thread.id
group by thread)
order by post_time desc limit 10;
1、表的主鍵、外來鍵必須有索引;
2、資料量超過300的表應該有索引;
3、經常與其他表進行連線的表,在連線欄位上應該建立索引;
4、經常出現在where子句中的欄位,特別是大表的欄位,應該建立索引;
5、索引應該建在選擇性高的欄位上;
6、索引應該建在小欄位上,對於大的文字欄位甚至超長欄位,不要建索引;
7、複合索引的建立需要進行仔細分析;儘量考慮用單欄位索引代替:
a、正確選擇複合索引中的主列欄位,一般是選擇性較好的欄位;
b、複合索引的幾個欄位是否經常同時以and方式出現在where子句中?單欄位查詢是否極少甚至沒有?如果是,則可以建立複合索引;否則考慮單欄位索引;
c、如果複合索引中包含的欄位經常單獨出現在where子句中,則分解為多個單欄位索引;
d、如果複合索引所包含的欄位超過3個,那麼仔細考慮其必要性,考慮減少複合的欄位;
e、如果既有單欄位索引,又有這幾個欄位上的複合索引,一般可以刪除複合索引;
8、頻繁進行資料操作的表,不要建立太多的索引;
9、刪除無用的索引,避免對執行計劃造成負面影響;
以上是一些普遍的建立索引時的判斷依據。一言以蔽之,索引的建立必須慎重,對每個索引的必要性都應該經過仔細分析,要有建立的依據。因為太多的索引與不充分、不正確的索引對效能都毫無益處:
在表上建立的每個索引都會增加儲存開銷,索引對於插入、刪除、更新操作也會增加處理上的開銷。另外,過多的複合索引,在有單欄位索引的情況下,一般都是沒有存在價值的;相反,還會降低資料增加刪除時的效能,特別是對頻繁更新的表來說,負面影響更大。
2樓:匿名使用者
select *
from bbs_task t
join bbs_friend f on t.uid = f.fuid
where uid = 3322
order by id desc limit 10;
select *
from bbs_thread t
where exists (select 1from bbs_topic tt
where author_id = 3322and t.id = tt.thread
)order by post_time desc limit 10看看哪個好使, 索引吧,樓上說的很多了。呵呵
詞彙替換問題寫作高手進來小問題加10分
不分青紅皁白的?可以不咯?哎呀!你自己看著辦吧!其實挺不錯的啊!幹嗎要改啊?真是的!就這個啊不用改啊!聽到沒啊!我倒蠻喜歡的啊 卻又讓我喜歡上你,殘酷的,在這個畢業來臨之際被上天無情戲弄了。問題和 又一次 關係不大。又一次 在句中反而有強調作用。卻又讓我喜歡上你,讓我又一次的,在畢業來臨之際被上天無...
電腦高手請進來幫幫我?回答正確追加100分
既然都已經買了,那麼測試就是滿足自己的心理需求了。如果想要知道自己的電腦好不好要知道各個關鍵配件的引數。1 處理器 關注主頻,外頻,1,2級快取。2 記憶體 關注容量,外頻,存取時間。3 顯示卡 關注視訊記憶體。4 主機板 關注主晶片組。5 硬碟 關注容量,轉速,平均尋道時間。以上例舉均為計算機中的...
電腦高手請進來回答好,再追加給50分
衝你這個問人的態度。就不告訴你。有錢的傢伙 簡直是個敗家子 女 電腦高手請進來幫幫我?回答正確追加100分 100 既然都已經買了,那麼測試就是滿足自己的心理需求了。如果想要知道自己的電腦好不好要知道各個關鍵配件的引數。1 處理器 關注主頻,外頻,1,2級快取。2 記憶體 關注容量,外頻,存取時間。...