我有我的 UUID 作为字符串,我的数据库中有数千个项目。我的查询看起来甚至是基本的似乎需要几秒钟才能加载 - 当我做更复杂的查询时,我们正在谈论几分钟的时间。
我相信我最大的瓶颈是我要进行数千次字符串比较
有没有办法让我的数据库保持原样 - 但将查询语法转换为将 UUID 转换为数字?
或者,如果这无济于事,我该如何将字符串转换为数字?
谢谢
编辑:
我有 16 个表都相互连接,很难发布它们是如何相互连接的,但这里有一些示例:
field Type
UUID - TEXT
"SELECT * FROM customer WHERE UUID = '$custUUID'";
如果我从 phpmyadmin 运行它,这个简单的查询需要 0.7 秒,我尝试这样做数百次 = 加载时间过长
MySQL returned an empty result set (i.e. zero rows). ( Query took 0.6967 sec )
SELECT *
FROM customer
WHERE UUID = '1234'
LIMIT 0 , 30
这是一个更复杂的查询示例,需要很长时间 reportdate、contract_UUID、customer_UUID、garcom_UUID 和 city_UUID 都是文本类型
$query = "SELECT DISTINCT a.weekreportDate FROM contract_sales a
INNER JOIN contract b ON a.contract_UUID = b.UUID
INNER JOIN geoPoint c ON b.customer_UUID = c.customerUUID
WHERE c.garcom_UUID = '$garbcom'
AND c.city_UUID = '$cit' ORDER BY `report_date`";