我有一个表格,其中包含MEDIUMTEXT类型的列。此表中有大约150,000条记录。
我正在尝试查找此字段为空的记录:
SELECT * FROM `q_tasks` WHERE `html`!='' limit 100
html
具有MEDIUMTEXT类型,并且字符串的长度超过200 KB。
非常慢。我考虑过为这个专栏添加一个索引,但它会起作用吗?我可以尝试,但我有点害怕添加索引这类列实际意味着什么。我的意思是我在DATETIME列中添加了一个索引(在同一个表中),花了很长时间并在我的磁盘上占用了大约3GB。我现在只剩下~10 GB的可用空间:(
所以我有两个问题,是否会增加索引提高速度?这个索引会占用我的磁盘多少千兆字节(大约)?
答案 0 :(得分:0)
恕我直言,最好的选择是在这个列上允许NULL值,然后使用这样的where子句:
SELECT *
FROM q_tasks
WHERE html IS NOT NULL
LIMIT 100