歡迎您光臨本站 註冊首頁

· mysql limit雜誌閱讀

mysql中的limit用法有哪些

admin @ 2020-04-18 reply:0

在我們使用查詢語句的時候,經常要返回前幾條或者中間某幾行資料,這個時候怎么辦呢,mysql已經為我們提供了這樣一個功能,儘管語法邏輯很是怪異,這個功能就好比oracle裡的rownum,但比mysql提供的這個LIMIT好用、好記和好理解多了,具體內容一起通過本文看看吧
SELECT * FROM 表名 limit m,n; SELECT * FROM table LIMIT [offset,] rows;
1.m代表從m+1條記錄行開始檢索,n代表取出n條資料。(m可設為0)
如: SELECT * FROM 表名 limit 6,5;
表示:從第7條記錄行開始算,取出5條資料
2.值得注意的是,n可以被設定為-1,當n為-1時,表示從m+1行開始檢索,直到取出最後一條資料。
如: SELECT * FROM 表名 limit 6,-1;
表示:取出第6條記錄行以後的所有資料。
3.若只給出m,則表示從第1條記錄行開始算一共取出m條
如: SELECT * FROM 表名 limit 6;
表示:取出前6條記錄行。
4.根據資料量的大小選擇相應的語句:
a.offset比較小:
SELECT * FROM aff limit 10,10
多次執行,時間保持在0.0004-0.0005之間
SELECT * FROM aff Where vid >=( SELECT vid From aff Order By vid limit 10,1 ) limit 10
多次執行,時間保持在0.0005-0.0006之間,主要是0.0006
結論:偏移量offset較小的時候,直接使用limit較優。這個顯示是子查詢的原因。
b.offset大的時候。
SELECT * FROM aff limit 10000,10
多次執行,時間保持在0.0187左右
SELECT * FROM aff Where vid >=( SELECT vid FROM aff Order By vid limit 10000,1 ) limit 10
多次執行,時間保持在0.0061左右,只有前者的1/3。
結論:偏移量offset越大,後者越優。

[admin via ] mysql中的limit用法有哪些已經有447次圍觀

http://coctec.com/magazine/show-post-item-66.html