mysql - 在mysql中创建大表之前的检查 list

标签 mysql database indexing

我正在创建一个新表,将来将添加数十亿条记录。表将如下所示。

Book name                     | pages | author
-------------------------------------------
book name of 6 to 20 letters | 349    | notme
string of 6 to 20 letters    | 200    | notyou

我将使用带有自动填充功能的搜索功能。例如,如果我输入 gr

它应该根据书名进行搜索并返回所有带有页面和作者姓名的书名..例如如下所示

amazon green house effect : 349 : name
grow old stronger         :300  : name
.
.
.
and so on upto 10 or 20 records sorted by page numbers or something..

因此,在添加数十亿条记录后,我知道查询时会变慢。那么在创建表之前我必须采取哪些步骤,以便即使在数据超过数十亿之后也能保持速度和效率。(预防是比治愈更好;))

我学到了什么?

我了解了如何创建索引。在创建表之前创建索引是否更好?或者任何其他的想法都是受欢迎的。如果你处于我的位置,你会做什么。

谢谢大家。

最佳答案

在创建过程中在表上添加索引,并使用

定期更新它
OPTIMIZE TABLE myTable

看看 MySQL full-text search Features ,也是。

关于mysql - 在mysql中创建大表之前的检查 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27204464/

相关文章:

php - 每天在多个数据库上自动运行 MySQL 脚本的最佳方法是什么?

mysql - 打开连接时发生内部连接 fatal error

Python:Tornado 和持久数据库连接

sql - 数据库字尾字符数限制?

MySQL索引帮助——哪个更快?

python - 需要指导将 python 脚本中的数据插入 MySQL 数据库

java - 如何仅获取与 JPA 中其他 2 个表具有 @OneToMany 关系的父记录

android - 如何创建登录屏幕

mysql - MySQL中是否可以有基于函数的索引?

elasticsearch - 使用CKAN和Elasticsearch索引数据,可能吗?