筆試題:優化mysql數據庫的方法
優化mysql數據庫的方法。(4分,多寫多得)
(1).數據庫設計方面,這是DBA和Architect的責任,設計結構良好的.數據庫,必要的時候,去正規化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分數據冗余,避免JOIN操作,以提高查詢效率
(2).系統架構設計方面,表散列,把海量數據散列到幾個不同的表里面.快慢表,快表只留最新數據,慢表是歷史存檔.集群,主服務器Read & write,從服務器read only,或者N臺服務器,各機器互為Master
(3).(1)和(2)超越PHP Programmer的要求了,會更好,不會沒關系.檢查有沒有少加索引
(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有limit等等.必要的時候,把數據庫邏輯封裝到DBMS端的存儲過程里面.緩存查詢結果,explain每一個sql語句
(5).所得皆必須,只從數據庫取必需的數據,比如查詢某篇文章的評論數,select count(*) ... where article_id = ? 就可以了,不要先select * ... where article_id = ?然后msql_num_rows.
只傳送必須的SQL語句,比如修改文章的時候,如果用戶只修改了標題,那就update ... set title = ? where article_id = ?不要set content = ?(大文本)
(6).必要的時候用不同的存儲引擎.比如InnoDB可以減少死鎖.HEAP可以提高一個數量級的查詢速度
【筆試題:優化mysql數據庫的方法】相關文章:
Linux數據庫的MySQL性能優化技巧09-21
一些關于MySql加速和優化的筆試題11-26
淺談數據庫的查詢優化方法分析09-27
調節和優化MySQL安裝的技巧10-31
幾個MySql的筆試題11-26
MYSQL基礎筆試題11-26
遇到的Mysql的筆試題11-26
MySQL筆試題目集錦11-26
Linux數據庫MySQL內部臨時表策略09-21