这是我在这个网站上的第一篇文章。如果我的帖子有任何问题,请随时指出我。
在使用 myisam 表的索引上从 MariaDB 10.1 迁移到 MariaDB 10.6 时,我遇到了一个新问题,它会在大型 INSERT 之后显着降低 SELECT 请求的性能(大型插入,在新表上插入大约一百万,降低了创建索引的效率创建请求)。
性能问题发生在 SELECT 请求上。就像没有索引一样。当我在这个 myisam 表上删除并重新创建索引时,性能问题就消失了。在 MariaDB 10.1 上,这个问题不存在(我不需要重新创建索引来保持良好的性能)。这个问题出现在MariaDB 10.6及以上版本(下面不知道,不知道如何无风险降级mariadb)。这个问题不是来自表转换,因为我每天都创建新的 myisam 表。
关于此问题的日志文件中没有什么特别之处。
MariaDB 变量是 MariaDB 的默认变量,除了这些变量: bulk_insert_buffer_size=100M ;default_storage_engine=MyISAM ; join_buffer_size=100M ; join_buffer_space_limit=52097152 ; key_buffer_size=4G ; max_allowed_packet=400M ; 最大连接数=80;max_heap_table_size=1500M ; multi_range_count=4000 ; myisam_use_mmap=1 ; myisam_sort_buffer_size=500M ; optimizer_switch=index_merge_sort_intersection=on,mrr=on,mrr_sort_keys=on,extended_keys=on ; query_cache_type=1 ; query_cache_size=1G ; query_cache_limit=90M ; query_cache_strip_comments=1 ; read_buffer_size=5M ; sort_buffer_size=40M ; sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ; 符号链接=0;table_open_cache=400 ; thread_cache_size=25 ; tmp_table_size=1500M
这就像 INSERT 不更新索引或在 MariaDB 10.6 上错误地更新索引。
我不知道如何继续我的调查。也许我做错了什么。
您是否遇到过在 MariaDB 10.6 或更高版本上出现而在 MariaDB 10.1 上不存在的问题?您是否考虑过 MariaDB 10.1 和 MariaDB 10.6 之间的变化,这会在大型 INSERT 请求(变量变化......)之后造成索引效率低下?
你对破坏索引的东西感兴趣吗?
问候