2019-03-10
閱讀量:
812
mysql常見的面試題(二)
執(zhí)行數(shù)據(jù)庫查詢時(shí)候,如果查詢的數(shù)據(jù)有很多,假設(shè)有1000萬條,用什么方法可以提高查詢效率?在數(shù)據(jù)庫方面或java代碼方面有什么優(yōu)化辦法?
1.在數(shù)據(jù)庫設(shè)計(jì)方面
(1)建立索引
(2)分區(qū)(比如說按時(shí)間分區(qū))
(3)選取最適用的字段屬性(盡量減少字段寬度和使用固定長度的字段)
2.在數(shù)據(jù)庫I/O方面
(1)增加緩沖區(qū)
(2)如果涉及到表的級(jí)聯(lián),最好不同的表放在不同的磁盤,以增加I/O速度
3.Sql語句方法
(1)優(yōu)化sql語句,減少比較次數(shù),可用連表查詢來代替子查詢
(2)限制返回的條目數(shù)(mysql用limit)
(3)有外鍵約束會(huì)影響插入和刪除性能,如果程序能夠保證數(shù)據(jù)的完整性,那在設(shè)計(jì)數(shù)據(jù)庫時(shí)就
去掉外鍵(比喻:就好比免檢產(chǎn)品,就是為了提高效率,充分相信產(chǎn)品的制造商)
4.在java方面
如果反復(fù)使用的查詢,可通過preparedstatement,因?yàn)樗谶\(yùn)行前已經(jīng)預(yù)編譯,只要運(yùn)行就Ok了.






評(píng)論(0)


暫無數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
1條評(píng)論
0條評(píng)論
0條評(píng)論