1.數(shù)據(jù)庫(kù)的設(shè)計(jì)
盡量把數(shù)據(jù)庫(kù)設(shè)計(jì)的更小的占磁盤空間.
1).盡可能使用更小的整數(shù)類型.(mediumint就比int更合適).
2).盡可能的定義字段為not null,除非這個(gè)字段需要null.
3).如果沒有用到變長(zhǎng)字段的話比如varchar,那就采用固定大小的紀(jì)錄格式比如char.
4).表的主索引應(yīng)該盡可能的短.這樣的話每條紀(jì)錄都有名字標(biāo)志且更高效.
5).只創(chuàng)建確實(shí)需要的索引。索引有利于檢索記錄,但是不利于快速保存記錄。如果總是要在表的組合字段上做搜索,那么就在這些字段上創(chuàng)建索引。索引的第一部分必須是最常使用的字段.如果總是需要用到很多字段,首先就應(yīng)該多復(fù)制這些字段,使索引更好的壓縮。
6).所有數(shù)據(jù)都得在保存到數(shù)據(jù)庫(kù)前進(jìn)行處理。
7).所有字段都得有默認(rèn)值。
8).在某些情況下,把一個(gè)頻繁掃描的表分成兩個(gè)速度會(huì)快好多。在對(duì)動(dòng)態(tài)格式表掃描以取得相關(guān)記錄時(shí),它可能使用更小的靜態(tài)格式表的情況下更是如此。
2.數(shù)據(jù)據(jù)優(yōu)化
1).盡量使用長(zhǎng)連接. (PHP開發(fā)這個(gè)最好不要使用, 占資源會(huì)死機(jī)的)
2).explain 復(fù)雜的SQL語句。
3).如果兩個(gè)關(guān)聯(lián)表要做比較話,做比較的字段必須類型和長(zhǎng)度都一致.
4).LIMIT語句盡量要跟order by或者 distinct.這樣可以避免做一次full table scan.
5).如果想要清空表的所有紀(jì)錄,建議用truncate table tablename而不是delete from tablename.
6).能使用STORE PROCEDURE 或者 USER FUNCTION的時(shí)候.
7).在一條insert語句中采用多重紀(jì)錄插入格式.而且使用load data infile來導(dǎo)入大量數(shù)據(jù),這比單純的indert快好多.
8).經(jīng)常OPTIMIZE TABLE 來整理碎片.
9).還有就是date 類型的數(shù)據(jù)如果頻繁要做比較的話盡量保存在unsigned int 類型比較快。
盡量把數(shù)據(jù)庫(kù)設(shè)計(jì)的更小的占磁盤空間.
1).盡可能使用更小的整數(shù)類型.(mediumint就比int更合適).
2).盡可能的定義字段為not null,除非這個(gè)字段需要null.
3).如果沒有用到變長(zhǎng)字段的話比如varchar,那就采用固定大小的紀(jì)錄格式比如char.
4).表的主索引應(yīng)該盡可能的短.這樣的話每條紀(jì)錄都有名字標(biāo)志且更高效.
5).只創(chuàng)建確實(shí)需要的索引。索引有利于檢索記錄,但是不利于快速保存記錄。如果總是要在表的組合字段上做搜索,那么就在這些字段上創(chuàng)建索引。索引的第一部分必須是最常使用的字段.如果總是需要用到很多字段,首先就應(yīng)該多復(fù)制這些字段,使索引更好的壓縮。
6).所有數(shù)據(jù)都得在保存到數(shù)據(jù)庫(kù)前進(jìn)行處理。
7).所有字段都得有默認(rèn)值。
8).在某些情況下,把一個(gè)頻繁掃描的表分成兩個(gè)速度會(huì)快好多。在對(duì)動(dòng)態(tài)格式表掃描以取得相關(guān)記錄時(shí),它可能使用更小的靜態(tài)格式表的情況下更是如此。
2.數(shù)據(jù)據(jù)優(yōu)化
1).盡量使用長(zhǎng)連接. (PHP開發(fā)這個(gè)最好不要使用, 占資源會(huì)死機(jī)的)
2).explain 復(fù)雜的SQL語句。
3).如果兩個(gè)關(guān)聯(lián)表要做比較話,做比較的字段必須類型和長(zhǎng)度都一致.
4).LIMIT語句盡量要跟order by或者 distinct.這樣可以避免做一次full table scan.
5).如果想要清空表的所有紀(jì)錄,建議用truncate table tablename而不是delete from tablename.
6).能使用STORE PROCEDURE 或者 USER FUNCTION的時(shí)候.
7).在一條insert語句中采用多重紀(jì)錄插入格式.而且使用load data infile來導(dǎo)入大量數(shù)據(jù),這比單純的indert快好多.
8).經(jīng)常OPTIMIZE TABLE 來整理碎片.
9).還有就是date 類型的數(shù)據(jù)如果頻繁要做比較的話盡量保存在unsigned int 類型比較快。

馬克
2008-05-29 11:31
發(fā)表評(píng)論
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
