问题一:PolarDB闪断了。能帮忙看下不?
PolarDB闪断了。能帮忙看下不?
参考答案:
这个日志是正常的,一般是客户端连接超时断连的
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597578?spm=a2c6h.12873639.article-detail.102.787343787T80t7
问题二:PolarDB原来没值的时候用了14秒的时间?
PolarDB原来没值的时候用了14秒的时间?
参考答案:
这个sql ,由于create_time在函数里,所以即使create_time上有索引,也用不上。你可以explain 看下计划。 有值时,速度快,是因为很快就扫到1行结果,就返回了。没值时,也没有用上索引的话,会导致全表扫,所以要慢很多 ,
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597577?spm=a2c6h.12873639.article-detail.103.787343787T80t7
问题三:PolarDB取这张表的 今天的最后编号,为什么 今天有值时,速度快,没值时,要10几秒才出来?
"PolarDB取这张表的 今天的最后编号,为什么 今天有值时,速度快,没值时,要10几秒才出来?是用了limit 的问题吗?SELECT invoice_number
FROM fc_invoice
WHERE DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
ORDER BY invoice_number DESC
LIMIT 1"
参考答案:
楼主你好,看了你的问题,查询速度变慢可能与查询的数据量和索引有关,而不一定是LIMIT的问题,当有值时查询语句能够快速定位到符合条件的数据并返回结果,但当没有符合条件的数据时,查询语句需要扫描整个表并按照invoice_number字段排序,然后再取最后一行,这个过程可能需要耗费较长的时间。
为了提高查询效率,可以考虑在invoice_number字段上创建索引,使得查询能够更快地定位到需要的数据,还可以使用EXPLAIN语句来分析查询的执行计划,查看是否存在潜在的性能问题。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597576?spm=a2c6h.12873639.article-detail.104.787343787T80t7
问题四:PolarDB还有这个也是没有走索引的 麻烦也帮忙看下?
PolarDB还有这个也是没有走索引的 麻烦大佬也帮忙看下?
create_time 是有索引的
参考答案:
表可以创建很多索引,优化器在选择的索引的时候,是根据代价选择的, 走哪个索引代价低,就会选择哪个索引,并不是创建出来的索引在一条查询里都要用上,当前query选择idx_sender_id索引代价更低, 查询更快, 实际数据也是sender_id= 1724591条件过滤性更好, 所以计划没有问题;
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597575?spm=a2c6h.12873639.article-detail.105.787343787T80t7
问题五:PolarDB这个sql运行报错了,帮忙看看?
PolarDB这个sql运行报错了?
参考答案:
两句中间少个分号,set前加个分号吧,基于cost选择的"index": "idx_depletion_type"基于当前query,这两个索引idx_depletion_type, idx_create_time需要扫描的数据量如下优化器选择的索引没有问题的;不过两个索引的代价相差不是很大, 如果变动时间范围,对应数据量不一样,代价不一样,也可能会选择另外一个索引?
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597574?spm=a2c6h.12873639.article-detail.106.787343787T80t7