我遇到了一个问题,在我的查询中,执行需要大约14秒,我需要它更快。
无论如何我可以优化它吗?
SELECT *
FROM large_table
WHERE (
INET_ATON( 'record number' )
BETWEEN INET_ATON( starting_number )
AND INET_ATON( ending_number )
)
LIMIT 0 , 30
答案 0 :(得分:5)
即使用作条件/过滤器的列被索引,由于INET_ATON()函数,它仍然会导致表的FULL SCAN。试试这个。
SELECT INET_ATON(`record number`)
FROM large_table
WHERE
'record number'
BETWEEN starting_number
AND ending_number
LIMIT 0 , 30