mysql - 数据库 : A table for each language or one table with a language column

标签 mysql database-design

我正在用 mysql 创建一个图书数据库。一本书可以有不同的语言。并且将会有数千本书。 (而且我远不是这个领域的专家,之前只创建过小型和简单的数据库)

1) 只创建一个包含语言列的表并为其创建索引是否足够快。 2) 还是为每种语言创建一个表会明显更快。

我的直觉(女巫在这个领域并不可靠)告诉我选择第一个选项。我认为它更规范化。它看起来更干净,更容易扩展到更多语言。而且它需要更少的编程。 但是,主要是英文(也是大藏书),满满一 table 其他语言的书,翻阅这些书岂不是要花更多的时间?

速度很重要,因为它将在网站上使用。但如果没有显着的性能差异,我更愿意选择简单的方法。

不会有很多不同的语言,我猜是 5 种最多 10 种。

最佳答案

只需从表中获取您需要的语言即可,该表包含您需要的所有语言。

关于mysql - 数据库 : A table for each language or one table with a language column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7289599/

相关文章:

php - 匹配 MySQL JSON 列的全部内容

mysqlcheck返回错误信息mysqlcheck : Got error: 1045: Access denied for user 'root' @'localhost' (using password: NO) when trying to connect

php - Codeigniter 插入代码不起作用

mysql - 简单的MySQL表设计

django - 通用关系是多对一还是多对多?

php - 保存数据库存储或保存访问多个表的查询?

Oracle 模式设计 : Seperate Schema with I/O Overhead?

php - 通过 PHP 计算 COUNT() MYSQL 行的更有效方法?

mysql - WooCommerce SKU 字符限制

mysql - 在年龄列之间搜索数据