搜尋

首頁  >  問答  >  主體

mysql - 85万数据量的表,43个字段,25个常用查询字段,频繁增删查改,如何优化?

目前系统有些查询(只是单表查询)不走索引导致系统速度变慢。

问题1:把25个字段全部加上索引是不是一个好的方案,会不会带来其他问题?
问题2:如果表数据量可能会在短期增长到800万,在不考虑分表的情况下,有没有什么比较好的方法?

PS:表引擎是 innodb.
服务器配置:双核cpu 2.4Ghz ,1G内存.. 除了跑mysql还跑了nginx.. 硬件确实有点拙计..

PHPzPHPz2786 天前649

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-04-17 11:30:14

    不加硬體的情況下要優化基本只有改善業務邏輯,或者適當加索引(寫入速度換讀取速度) 或者內存緩存了,不過1G的內存也捉急……

    有硬體預算的話自然有一百種方法可以優化,其中最粗暴&低成本的方法是加一塊SSD放數據庫,800W數據平均一條15K的話240G的差不多夠了

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 11:30:14

    可針對慢查詢最佳化。索引主要對where後面的條件欄位十分有效,可嘗試建立。

    索引利於查詢,增加資料就會變慢,估計索引過多也不好。

    回覆
    0
  • 阿神

    阿神2017-04-17 11:30:14

    使用PostgreSQL的GIN索引,是最簡單有效的方法,詳細參考:高並發低基數多字段任意組合查詢的最佳化

    回覆
    0
  • 取消回覆