[英]MySql InnoDB possible performance issues
我对数据库感到陌生,所以我有:
经过几次廉价的选择查询后,我对这个庞大的表格进行了插入查询和其他选择。
问题:每次插入都会重新索引,并且可能会锁定表/行或其他内容? 当多个请求同时出现时,它将如何影响高流量?
索引是增量更新的。 无需考虑此过程; 它发生在“背景”中。 索引始终是最新的; 也就是说, SELECT
能够像查找旧行一样容易地找到新插入的行。
如果每秒获得超过100次INSERTs
,那么让我们研究一下细节。 ( SHOW CREATE TABLE
,实际INSERT
等)
同时,一千个点查询应该没问题。 (即对已建立索引的单行的SELECT
。)
高流量...“廉价查询”通常是如此之快,以至于很少有两个同时运行。 甚至每秒一千个查询可能很少会同时运行多个查询。 长时间运行的查询是另一回事。
数十个正在运行的连接是“繁忙”的流量。 到那时,让我们看一下运行时间最长的查询,看看是否可以加快查询速度。
根据RAM大小和innodb_buffer_pool_size
以及访问模式的不同,大表可能受I / O约束, 也可能不受 I / O约束。 UUID / GUID索引因导致I / O呆滞而臭名昭著。 您主要关注“最近”行的“日志”或“新闻”将具有“引用位置”,这会导致非常高效的缓存-因此表大小与RAM无关紧要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.