【问题标题】:best way to to get faster record searching in mysql在 mysql 中获得更快记录搜索的最佳方法
【发布时间】:2017-06-23 11:41:48
【问题描述】:

我在 mysql 数据库中有超过 十亿条记录,问题是当我执行选择查询时,搜索该字符串需要超过 3 分钟。

那么当我拥有大量数据时,哪种方式是存储和检索的最佳方式? 我的表有 4 列:

 Serial_no,  product_name,  product_id,  location

序列号从 1 开始自动递增。 我有重复的product_id 退出。我没有执行任何索引,只是创建了一个表并使用查询

select * from table where condition

如果我想要更快的查询搜索,我应该怎么做?

编辑:我正在使用以下查询:

select * from the table where product_name="Example";

我应该将我的数据库更改为其他数据库吗?

【问题讨论】:

  • 编辑您的问题并显示您正在使用的查询和示例数据。毫无疑问,索引是解决您问题的方法。
  • 取决于您需要哪种类型的 seacrh .. 更新您的问题并告诉我们您真正需要的搜索 .. 向我们展示您正在使用的代码
  • 我想使用产品名称查看产品的详细信息!
  • 无索引 => 无数据库,使用 Excel ;) 对连接中的所有字段、位置、排序依据和分组依据进行索引,除非您要插入或更新许多行(使用索引会更慢)。

标签: php mysql sql database


【解决方案1】:

我会根据查询中最常用的字段创建索引,在这种情况下,您的主要字段可能是 product_id,因此它应该是集群索引并使用 product_name 创建一个非集群索引

CREATE NONCLUSTERED INDEX [itable_productname] ON table 
(
    product_name ASC
)

【讨论】:

    猜你喜欢
    • 2015-04-15
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 2016-04-03
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多