我有一个sql查询,它很复杂且难以调试,因为我通过自己编写的querybuilder类生成它。但它的全部工作(它只是变量名称不是用户友好的)。现在当我运行解释时,它在第一行给出了以下输出:
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY user1_ const PRIMARY PRIMARY 257 const 1 Using index; Using temporary
现在我想知道,如果这是一个问题(性能问题),当我拥有大约100k的大用户群时。请告诉我是否需要提供数据库架构或查询(它是一个8k字符长的查询)。
答案 0 :(得分:1)
任何时候你看到"使用临时"你是为了一个受伤的世界。这涉及创建一个临时文件并在以后阅读它。尽你所能避免这种情况,特别是对于较大的结果集,但有时你只需付出代价,因为没有别的办法。
请记住,这可能需要一个应该在1毫秒内执行的查询需要5毫秒,而不是特别严重的延迟,但如果它通常需要10秒而是需要50秒,您将开始感受到痛苦。