返回介绍

4 MySQL 优化

发布于 2024-10-03 00:33:42 字数 858 浏览 0 评论 0 收藏 0

当使用 MyISAM 存储引擎时,MySQL 使用极快速的表锁定,以便允许多次读或一次写。使用该存储引擎的最大问题出现在同一个表中进行混合稳定数据流更新与慢速选择。如果这只是某些表的问题,你可以使用另一个存储引擎。参见 第 15 章: 存储引擎和表类型

MySQL 可以使用事务表和非事务表。为了更容易地让非事务表顺利工作(如果出现问题不能回滚),MySQL 采用下述规则。请注意这些规则只适用于不运行在严格模式下或为 INSERT 或 UPDATE 使用 IGNORE 规定程序时。

  • 所有列有默认值。请注意当运行在严格 SQL 模式(包括 TRADITIONAL SQL 模式) 时,必须为 NOT NULL 列指定默认值。
  • 如果向列内插入不合适的或超出范围的值,MySQL 将该列设定为“最好的可能的值”,而不是报告错误。对于数字值,为 0、可能的最小值或最大值。 对于字符串,为空字符串或列内可以保存的字符串。请注意当运行在严格模式或 TRADITIONAL SQL 模式时该行为不 适用。
  • 所有表达式的计算结果返回一个表示错误状况的信号。例如,1/0 返回 NULL。(使用 ERROR_FOR_DIVISION_BY_ZERO SQL 模式可以更改该行为)。

如果正使用非事务表,不应该使用 MySQL 来检查列的内容。一般情况,最安全的(通常是最快的) 方法径是让应用程序确保只向数据库传递合法值。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文