我有一个data
在 mysql 数据库中调用的表。该表非常大,大约有 50 万条记录,这个数字将增长到 100 万条。每条记录由大约 50 列组成,其中大部分包含 varchars。
该data
表的使用非常频繁。实际上,大多数查询都访问该表。大约 50 个用户同时读取和写入数据。该系统负载很高,用户上传和检查他们的数据,因此最多可以停止一两个小时。
经过一番研究。我发现几乎所有具有“where”子句的选择查询都使用表中的四个字段之一。这些字段是:isActive、country、state、city - 都是 int 格式。where 可以是
where isActive = {0|1}
或者
where isActive = {0|1} and {country|state|city} = {someIntValue}
或者
where {country|state|city} = {someIntValue}
最后一件事是该表除了主 id 之外没有任何索引。
在表增长到当前大小后,我遇到了一些性能问题。
所以,我的问题是,如果我在 isActive、国家、州和城市列上创建索引,性能会提高吗?
UPD:我刚刚在其中一个字段上创建了一个索引,哇!查询正在立即执行。谢谢你们。