查询information_schema.tables表时,select慢,有什么优化方案吗.
查询语句为
SELECT 1 FROM information_schema.tables WHERE table_schema=‘core’ and table_name =‘ifc34041’ LIMIT 1;
这个是查询数据库元数据,真没什么好方法
同场景下,mysql查询就很快很多,没有啥优化方案了吗
LIMIT 1不加试试呢
集群负载高吗,select有多慢?
能不能explain analyze发出来看下?
查询元数据或者一些内存表,都有慢的现象,这个没法调整
是不是表很多啊
是不是对象太多?
可以查询看看:
SELECT
db_name,
table_name,
ROUND(SUM(total_size / cnt), 2) Approximate_Size,
ROUND(SUM(total_size / cnt / (SELECT
ROUND(AVG(value), 2)
FROM
METRICS_SCHEMA.store_size_amplification
WHERE
value > 0)),
2) Disk_Size
FROM
(SELECT
db_name,
table_name,
region_id,
SUM(Approximate_Size) total_size,
COUNT(*) cnt
FROM
information_schema.TIKV_REGION_STATUS
WHERE table_name IN ('TABLES')
GROUP BY db_name , table_name , region_id) tabinfo
GROUP BY db_name , table_name;
这个问题我记得之前也有个老哥问过,当时trace了下sql,和几万个region做交互,把我惊呆了
元数据查询确实比MySQL慢一些
我自己试了下,单机都挺慢,有10几倍的差距,这一块tidb 确实要优化下了
这个就快不了啊
这个没法快吧,就一个简单测查询语句也没啥好优化的了。
嗯,我试试
你发的这个贴子就是我发的
哈哈哈
元数据表不是有table cache说法,照理说速度不该慢
TIDB有开启这个配置tidb_enable_prepared_plan_cache: true