gpt4 book ai didi

mysql - 查询为新项目创建数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:28 24 4
gpt4 key购买 nike

我希望如果我的问题断章取义,你们会让我绕过。在 DBMS 方面我一点也不擅长,在我 7 年以上的 IT 经验中,我只能写一些基本查询(在 Google 的帮助下)。

我正在做我自己的项目,我已经完成了设计阶段,并且非常清楚项目需要的所有表结构。我将为此使用 MySQL,因为项目具有这些功能小型 CMS 本身意味着要以数据库大小处理大量数据。

我正在使用 TOAD for MySQL 为 MySQL 创建模式和其他内容,但在执行此操作时,我想在开始时解决的问题很少。

  1. MySQL 的存储引擎类型应该是什么(默认是 InnoDB)
  2. 存储引擎需要处理的任何其他参数
  3. 需要在表级别和列级别设置哪些字符集和排序规则(如果有的话)(应用程序必须注意国际化)

由于对数据库方面的了解不多,这些问题一直在我脑海中浮现,在此方面的任何帮助将不胜感激。

最佳答案

您应该坚持使用 InnoDB。它具有事务和行级锁定。对于高(写入)并发,行级锁定允许同时进行多个 INSERTs/UPDATEs/DELETEs。 MyIsam 具有表锁定,这意味着一次只能修改一个查询。如果你的阅读量很大,MyISAM 可能会表现更好。 SELECT COUNT(*) FROM table; 例如,MyISAM 可以立即回答统计问题,而 InnoDB 实际上执行 COUNT()。 InnoDB 允许您定义表之间的连接(外键约束)以帮助您实现数据完整性。

如果您对上述内容感兴趣,我建议您阅读 O'Reilly Media 的高性能 MySQL。

关于字符集,您应该确保所有表/列使用相同的字符集。最好是 Unicode (UTF8)。确保您的 mysql 客户端也设置为使用 UTF8,以避免数据的(透明)音译。 (事实上​​,确保整个应用程序从存储到显示都使用 UTF8)。

排序规则可让您将文本定义为 UTF8,但在德语上下文中。有了这些知识,MySQL 就会根据德语语言的规则对“fööbar”和“foobar”进行正确排序。 (除其他外排序)。我通常使用“utf8_general_ci”。查看 mysql 上的一些示例:http://dev.mysql.com/doc/refman/5.0/en/charset-collation-effect.html

关于mysql - 查询为新项目创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7695660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com