mysql - 优化 SELECT 查询,知道我们正在处理一个有限的范围

标签 mysql sql select

我试图在 MYSQL SELECT 查询中包含一个限制。 我的数据库的结构是这样的,如果在第一列中找到一条记录,那么在该列之后最多只能找到 5000 条同名记录。

例子:

mark
..mark repeated 5000 times
john
anna
..other millions of names

所以在这个表中,找到第一个标记,并从那个标记继续向下搜索最多 5000 行会更有效。

有没有可能做这样的事情?

最佳答案

只需在名称列上创建一个 btree 索引:

CREATE INDEX name ON your_table(name) USING BTREE

每次查找名称时,mysql 都会默默地执行您想要的操作。

关于mysql - 优化 SELECT 查询,知道我们正在处理一个有限的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802098/

相关文章:

android - 如何在 SQLite 中更新 2000 行时最小化时间要求

sql - 如何调整SQL LIKE 功能?

javascript - 如何在选项标签中使用多种颜色为文本着色

mysql - 为什么我的 SQL 查询获取的行数比表中的行数多?

mysql - 在 MySQL 中获取上个月未保留的用户

php - 在循环内使用 PHP/AJAX 更新/设置 MySQL

MySQL全文检索外键包含的数据

mysql - 在 SQL 中根据 CASE 结果使用不同的 WHERE 子句

mysql - 如何重命名外键约束| MySQL 5.6、InnoDB

sql - Entity Framework 迁移 - 分支管理