Limit結合使用SQL calc found

2022-04-17 21:14:57 字數 516 閱讀 6421

在很多分頁的程式中都這樣寫:

select count(*) from `table` where

......; 查出符合條件的記錄總數

select * from `table` where ...... limit m,n; 查詢當頁要顯示的資料

這樣的語句可以改成:

select sql_calc_found_rows * from `table` where

...... limit m, n;

或select sql_calc_found_rows name,email from `table` where

...... limit m, n;

select found_rows();//也相當於一條sql語句,其中就把found_rows()當做普通sql語句中的乙個字段使用就行,它的值就是上面不包含limit的記錄數

這樣只要執行一次較耗時的複雜查詢可以同時得到與不帶limit同樣的記錄條數

注意:只能在mysql4.0.0以上版本有效

order by和limit結合使用的問題

在mysql中我們常常用order by來進行排序,使用limit來進行分頁,當需要先排序後分頁時我們往往使用類似的寫法select from 表名 order by 排序字段 limt m,n。但是這種寫法卻隱藏著較深的使用陷阱。在排序欄位有資料重複的情況下,會很容易出現排序結果與預期不一致的問題...

delete與limit的結合

在日常的開發工作中,或多或少都會遇到刪除單條資料的時候,那平時是怎麼寫的呢,是不是這樣 delete from table name where id 1 在刪除操作執行的過程中,如果命中了第一條資料,執行完刪除操作後還會去掃瞄全表,但是如果加上了limit 1 執行完就return了,效率高低,一...

Mysql查詢使用Limit優化

在某些情況下,如果明知道查詢結果只有乙個,sql語句中使用limit 1會提高查詢效率,感興趣的朋友可以了解下哈,希望對你優化mysql查詢有所幫助 在某些情況下,如果明知道查詢結果只有乙個,sql語句中使用limit 1會提高查詢效率。例如下面的使用者表 主鍵id,郵箱,密碼 複製 如下 crea...