服务器使用apache2.4和MySQL 5.5.62运行php5.5.38,大约每分钟有5k-10k的读写。
而主要使用的表格是MyISAM,并开始崩溃,说“在使用”而不是统计。修复的尝试失败了。最后将其更改为InnoDB并停止,但是我能做些什么来防止错误呢?
发布于 2022-11-09 16:53:46
MyISAM是一种过时的技术。InnoDB是耐酸性,专为崩溃恢复而设计。这就是解决办法。
例如,MySQL 8.0中的默认引擎是InnoDB:https://dev.mysql.com/doc/refman/8.0/en/storage-engine-setting.html
省略引擎选项时,将使用默认存储引擎。默认引擎是InnoDB 8.0中的MySQL。
您还应该使用Redis/Memcached/Files在PHP级别实现一些缓存,以防止不必要的读取。
确保在联接/where子句中使用的列上有索引。
索引用于快速查找具有特定列值的行。在没有索引的情况下,MySQL必须从第一行开始,然后遍历整个表以找到相关的行。桌子越大,成本就越高。
https://stackoverflow.com/questions/74378451
复制相似问题