10條技巧優化資料庫速度
大多數網站的內容都存在資料庫裡,使用者透過要求來存取內容。資料庫非常的快,有許多技巧能讓你優化資料庫的速度,使你不浪費伺服器的資源。在這篇文章中,我收錄了十個優化資料庫速度的技巧。
1、小心設計資料庫
第一個技巧也許看來理所當然,但事實上大部分資料庫的問題都來自於設計不好的資料庫結構。
譬如我曾經遇見過將客戶端資訊和支付資訊儲存在同一個資料庫列中的例子。對於系統和用資料庫的開發者來說,這很糟糕。
新建資料庫時,應將資訊儲存在不同的表裡,採用標準的命名方式,並採用主鍵。
來源: http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/
2、清楚你需要優化的地方
查詢語句,清楚的知道這個語句的結果是非常有幫助的。採用EXPLAIN語句,你將獲得很多有用的信息,下面來看個例子:
EXPLAIN SELECT * FROM ref_table,other_table WHERE ref_table.key_column=other_table.column;p.com /doc/refman/5.0/en/using-explain.html
然而,你應該只列出你需要的列,如下所示。如果在一個非常小型的網站,譬如,一分鐘一個用戶訪問,可能沒有什麼分別。然而如果像Cats Who Code這樣大流量的網站,這就為資料庫省了很多事。
5、採用LIMIT
6、避免循環中的查詢
你能這麼做:
來源: http://www.karlrixon.co.uk/articles/sql/update-multiple-rows-with-different-values-and-a-single-sql-query/
雖然子查詢很有用,但join語句可以替換它, join語句執行起來更快。
SELECT a.id, MAX(p.created) AS latest_post FROM authors a INNER JOIN posts p BYc ON (a.id = p.aut _ 來源: http://20bits.com/articles /10-tips-for-optimizing-mysql-queries-that-dont-suck/
來源: http://hungred.com/useful-information/ways-optimize-sql-queries/
UNION語句,你可以將2個或更多select語句的結果拼在一起。下面的例子回傳的結果同上面的一樣,但是速度要快一點:
SELECT * FROM a, b WHERE a.p = b.q UNION SELECT * FROMo, b.E awww. .bcarter.com/optimsql.htm
可以在一個欄位上建立索引,也可以在多個欄位上建立。索引是一種資料結構,它將表中的一列或多列的值以特定的順序組織起來。
下面的語句在Product表的Model欄位上建立索引。這個索引的名字叫做idxModel
CREATE INDEX idxModel ON Product (Model);
以上就是10條技巧優化資料庫速度的內容,更多相關文章請注意PHPcn(www.php.cn)!