mysql字段分隔符拆分_面试题Mysql数据库优化之垂直分表
生活随笔
收集整理的這篇文章主要介紹了
mysql字段分隔符拆分_面试题Mysql数据库优化之垂直分表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
????在日常的開發工作中,除了JAVA相關的技術,打交道最多的就是Mysql數據庫,當數據積累到一定程度,比如500W時就會難免出現一些慢sql,對數據庫的優化方式有很多,比如通過增加合理的索引,今天我們來說下其中的垂直分表。
????垂直分表:顧名思義就是將一張表縱向拆分成多張表,通過拆分后每行的字段數減少了,空間占用變小,當檢索表數據時,一次IO就能從磁盤獲取更多的數據到內存中,減少了IO次數,降低了響應時間。
????拆分的一些原則:
可以根據業務進行拆分,比如原表中有些是一些輔助信息字段,此時可以把輔助信息拆分到另一張表中,并增加與數據的關聯,比如增加元數據的主鍵等。
將核心字段或者經常訪問的字段放到一張表中,讓表更加原子,清晰,但是以合理為基礎,也可以冗余字段,也不要過度拆分。
舉個例子:將我們的訂單表拆分成訂單表和訂單擴展信息表,如下
order表
拆分后:
t_order表
t_order_contact表
????訂單中的聯系人信息是訂單的擴展信息,而且不常訪問,拆分后原訂單表輕量了,更加原子化,效率也提升了。當我們需要同時獲取訂單與訂單擴展信息時,不建議join方式,應分別查詢然后通過程序去處理。
總結
以上是生活随笔為你收集整理的mysql字段分隔符拆分_面试题Mysql数据库优化之垂直分表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加密软件漏洞评测系统_调查:加密货币挖矿
- 下一篇: php程序怎么上传服务器,php本地文件