首頁  >  問答  >  主體

mysql - 如果单表的数据达到300万,是否考虑分表?

数据在mysql中,大约10个字段,预计达到300万条。

网站注册时需要在这300万条记录中找到相匹配的;

如何做到优化?

请教

阿神阿神2743 天前747

全部回覆(9)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 12:04:41

    500W分錶,已經到300W了,應該儲備知識,做好分錶打算了。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 12:04:41

    不考慮硬體、業務、資料庫參數與表格結構設計等,直接以資料量來衡量是否要分錶,不是扯蛋。

    1. FIO、SSD、HDD。 。 。
    2. 簡單查詢、複雜查詢。 。 。
    3. 索引最佳化、快取技術。 。 。

    回覆
    0
  • PHPz

    PHPz2017-04-17 12:04:41

    索引處理好,不至於要分錶

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 12:04:41

    mysql單表達到1000W到2000W的時候還能提供較好的服務,目前線上有一張表1000W多點,還沒有出現效能問題,多張表在幾百萬的數據,開始考慮分錶了,如果表比較簡單,索引合理的話300W完全不需要分錶,記得DBA說過mysql單表超過5千萬還是6千萬還是幾千萬來著性能會下降的比較厲害,所以沒達到千萬級別還不需要考慮分錶的事

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 12:04:41

    網站註冊時需要在這300萬筆記錄中找到相符的;

    你要想的是現在就模擬這種情況的去看db的效能,優化好索引和你的實現,分錶在這個資料量上還不需要。

    回覆
    0
  • 阿神

    阿神2017-04-17 12:04:41

    @gongweixin ,您說的沒錯,理論上確實5000萬以上才會效能急劇下降,有些db架構師也是這麼說過。但是實際情況卻不一定,按照一部分的真實項目,500萬以上就會開始變慢了。當然,這個跟具體的業務邏輯、回應要求、表格設計也是很有關係的。表格字段全是int類型的,可以到1000萬以上再優化。
    @Mr_Jing 說的對,到了300萬,是時候作好優化的技術儲備了。但不一定分錶,可以透過快取、搜尋引擎等技術也都可以提高效能。
    具體什麼時候優化,還是得看你係統監控的狀況。
    也可以看看我這篇文章:mysql方案

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 12:04:41

    看你的業務狀況 查詢語句
    如果都是命中索引的查詢還是不需要分錶的

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 12:04:41

    找好分錶的準備,資料多了效能是個問題哦。 。

    回覆
    0
  • 黄舟

    黄舟2017-04-17 12:04:41

    再加兩個0的時候考慮

    回覆
    0
  • 取消回覆