我有一个巨大的人员数据库,并在上面用名字进行普通搜索。
SELECT * FROM tbl_person WHERE full_name LIKE 'Sparow%Jack%';
SELECT * FROM tbl_person WHERE full_name LIKE 'Sparow%';
我很少在这个表中插入新数据。
我想将常见的姓氏查询存储在硬盘上,查询已经存储在内存中,但每次服务器重新启动时我都会丢失它。
我的表中有 17 亿行,每行(带索引)占用 1k,是的,它是一个 1.7Tb 的数据库。
这是我想在磁盘上存储公共选择的主要原因。
Variable_name,Value
query_alloc_block_size,8192
query_cache_limit,1048576
query_cache_min_res_unit,1024
query_cache_size,4294966272
query_cache_type,ON
query_cache_wlock_invalidate,OFF
query_prealloc_size,8192
编辑 :
SELECT * FROM tbl_person WHERE full_name LIKE 'Savard%';
第一次执行 1000 秒,之后执行 2 秒。如果我重新启动系统并再次执行,查询又需要 1000 秒。
我只是想避免 mysql 再花 1000 秒运行我在重启之前已经做过的相同查询。