重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
分頁本來就是數據越多越慢,正常情況下,絕對有條件限制,例如時間
創新互聯公司從2013年開始,先為土默特右旗等服務建站,土默特右旗等地企業,進行企業商務咨詢服務。為土默特右旗企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
還可以不用limit,用id段查詢,弊端是不能斷
你的查詢需求中,最常用的where字段是什么,然后在數據表中給這個字段建立索引。多表查詢、嵌套查詢的話,就得優化sql了,這個得具體情況具體分析了。
1.建立索引,盡可能把索引建立到你你經常比較的字段上,如select a,b,c,d from a where 索引字段=值,這個索引字段最好是數值型數據
2.慢有更多情況,
情況1:遠程查詢,其實可能查詢不慢,由于數據量大,傳輸過程慢
情況2:WHERE 后面的比較數據太多,比如 like 類的語句
情況3:需要哪個字段只取那個字段就行了,比如select * from a與select b,c,d from a速度是有差距的
3.數據庫定期維護,壓縮,把不常用的數據備份后放入備份庫里,查詢時查備份庫等
問題補充:
.第一條:建立索引,怎么建立,我也聽說過,但不知道怎么使用
答:每種數據建立索引的方法有差異,比如SQL SERVER 2000中可對多個字段進行索引,比如SQL SERVER2000中有命令
CREATE INDEX
為給定表或視圖創建索引。
只有表或視圖的所有者才能為表創建索引。表或視圖的所有者可以隨時創建索引,無論表中是否有數據。可以通過指定限定的數據庫名稱,為另一個數據庫中的表或視圖創建索引。
語法
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH index_option [ ,...n] ]
[ ON filegroup ]
index_option ::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
第三條:數據庫定期維護,壓縮:怎么個壓縮法?及時備份數據到備份庫查詢備份庫,那查詢時不是還慢嗎?
答:這個有壓縮工具,基本上每種數據庫都有自己的壓縮數據庫的工具
如果數據庫數據很大,最好給相應字段建立索引,這樣會快很多!還有就是查詢語句盡量不要寫 in()之類的,這比較耗時!
表結構可能有問題,你用來查詢的字段是鍵么?不是的話在百萬數據量時時間長是必然的,還有你的SQL語句,如果有聯表查之類的,而表之間的關聯和條件有非鍵項,那慢也是正常的
1. 找到你mysql的安裝目錄,打開my.ini,如果是Linux服務器,那就是my.conf;
2.然后在[mysqld]選項下面添加:
skip-name-resolve
這個選項的意思是:禁用DNS解析,連接速度會快很多。
然后保存,重啟mysql服務器,希望能幫你解決問題!