數(shù)據(jù)庫相關(guān)&部分性能優(yōu)化

一房揭、分頁

Mysql的limit用法

limit 接受一個或兩個數(shù)字參數(shù)贤笆。參數(shù)必須是一個整數(shù)常量现斋。如果給定兩個參數(shù)府树,第一個參數(shù)指定第一個返回記錄行的偏移量俐末,第二個參數(shù)指定返回記錄行的最大數(shù)目。初始記錄行的偏移量是 0(而不是 1):

①檢索前100條記錄:0-100
mysql> SELECT * FROM table LIMIT 5;   //檢索前 5 個記錄行  
等價于
mysql> SELECT * FROM table LIMIT 0,5;

②檢索中間記錄:101-150
mysql> SELECT * FROM table LIMIT 100,50; // 檢索記錄行 101-150  

③檢索剩余記錄:151到結(jié)束的所有
mysql> SELECT * FROM table LIMIT 150,-1; // 檢索記錄行 151-last.  

分頁方式

SELECT * FROM tableName WHERE category_id = 123 ORDER BY id LIMIT 50, 10

附:為了提高搜索效率挺尾,最好在category_id, id兩列上建立復(fù)合索引。(此部分為數(shù)據(jù)庫性能優(yōu)化方面的知識)

擴展:索引

SQL索引在數(shù)據(jù)庫優(yōu)化中占有一個非常大的比例站绪, 一個好的索引的設(shè)計遭铺,可以讓你的效率提高幾十甚至幾百倍,在這里將帶你一步步揭開他的神秘面紗。
索引主要目的是提高了SQL Server系統(tǒng)的性能魂挂,加快數(shù)據(jù)的查詢速度與減少系統(tǒng)的響應(yīng)時間

  • 什么是索引甫题?
      SQL索引有兩種,①聚集索引和②非聚集索引涂召。

下面舉兩個簡單的例子:
舉例一(圖書館的例子):一個圖書館那么多書坠非,怎么管理呢?建立一個字母開頭的目錄果正,例如:a開頭的書炎码,在第一排,b開頭的在第二排秋泳,這樣在找什么書就好說了潦闲,這個就是一個聚集索引,可是很多人借書找某某作者的迫皱,不知道書名怎么辦歉闰?圖書管理員在寫一個目錄,某某作者的書分別在第幾排卓起,第幾排和敬,這就是一個非聚集索引。

舉例二(字典的例子):字典前面的目錄戏阅,可以按照拼音和部首去查詢昼弟,我們想查詢一個字,只需要根據(jù)拼音或者部首去查詢饲握,就可以快速的定位到這個漢字了私杜,這個就是索引的好處,拼音查詢法就是聚集索引救欧,部首查詢就是一個非聚集索引.

看了上面的例子衰粹,下面的一句話大家就很容易理解了:聚集索引存儲記錄是物理上連續(xù)存在,而非聚集索引是邏輯上的連續(xù)笆怠,物理存儲并不連續(xù)铝耻。就像字段,聚集索引是連續(xù)的蹬刷,a后面肯定是b瓢捉,非聚集索引就不連續(xù)了,就像圖書館的某個作者的書办成,有可能在第1個貨架上和第10個貨架上泡态。

還有一個小知識點就是:聚集索引一個表只能有一個,而非聚集索引一個表可以存在多個迂卢。

建立索引的原則如下:
1) 定義主鍵的數(shù)據(jù)列一定要建立索引某弦。
2) 定義有外鍵的數(shù)據(jù)列一定要建立索引桐汤。
3) 對于經(jīng)常查詢的數(shù)據(jù)列最好建立索引。
4) 對于需要在指定范圍內(nèi)的快速或頻繁查詢的數(shù)據(jù)列;
5) 經(jīng)常用在WHERE子句中的數(shù)據(jù)列靶壮。
6) 經(jīng)常出現(xiàn)在關(guān)鍵字order by怔毛、group by、distinct后面的字段腾降,建立索引拣度。如果建立的是復(fù)合索引,索引的字段順序要和這些關(guān)鍵字后面的字段順序一致螃壤,否則索引不會被使用抗果。
7)其他。映穗。窖张。。

二蚁滋、子查詢

但隨著數(shù)據(jù)量的增加宿接,頁數(shù)會越來越多,查看后幾頁的SQL就可能類似:

SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 10000, 10  

一言以蔽之辕录,就是越往后分頁睦霎,LIMIT語句的偏移量就會越大,速度也會明顯變慢走诞。
此時副女,我們可以通過子查詢的方式來提高分頁效率,大致如下:

SELECT * FROM articles WHERE  id >=  
 (SELECT id FROM articles  WHERE category_id = 123 ORDER BY id LIMIT 10000, 1) LIMIT 10  


SELECT 語句中的子查詢
通常情況下子查詢都與 SELECT 語句一起使用蚣旱,其基本語法如下所示:
SELECT column_name [, column_name ]
FROM   table1 [, table2 ]
WHERE  column_name OPERATOR
      (SELECT column_name [, column_name ]
      FROM table1 [, table2 ]
      [WHERE])

子查詢(Sub Query)或者說內(nèi)查詢(Inner Query)碑幅,也可以稱作嵌套查詢(Nested Query),是一種嵌套在其他 SQL 查詢的 WHERE 子句中的查詢塞绿。
子查詢用于為主查詢返回其所需數(shù)據(jù)沟涨,或者對檢索數(shù)據(jù)進行進一步的限制。

SQL子查詢的一些例子

Join相關(guān)

Join相關(guān)知識查看w3school

其他文章
[MySQL的ORDERBY...LIMIT優(yōu)化思路 ]
(http://blog.163.com/li_hx/blog/static/18399141320143351538647/)

mysql中使用order by 和limit查詢變慢解決辦法

100億數(shù)據(jù)1萬屬性數(shù)據(jù)架構(gòu)設(shè)計

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末异吻,一起剝皮案震驚了整個濱河市裹赴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诀浪,老刑警劉巖棋返,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異雷猪,居然都是意外死亡睛竣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門求摇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來射沟,“玉大人嫉你,你說我怎么就攤上這事□锿铮” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵嚷辅,是天一觀的道長簿姨。 經(jīng)常有香客問我,道長簸搞,這世上最難降的妖魔是什么扁位? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮趁俊,結(jié)果婚禮上域仇,老公的妹妹穿的比我還像新娘。我一直安慰自己寺擂,他們只是感情好暇务,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怔软,像睡著了一般垦细。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挡逼,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天括改,我揣著相機與錄音,去河邊找鬼家坎。 笑死嘱能,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的虱疏。 我是一名探鬼主播惹骂,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起飒赃,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蚯妇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后初嘹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年茫死,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片履羞。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡峦萎,死狀恐怖屡久,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情爱榔,我是刑警寧澤被环,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站详幽,受9級特大地震影響筛欢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜唇聘,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一版姑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迟郎,春花似錦剥险、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至控乾,卻和暖如春夫凸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阱持。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工夭拌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衷咽。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓鸽扁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親镶骗。 傳聞我的和親對象是個殘疾皇子桶现,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容