根据 MySQL 列内容的长度创建索引?
如何根据值的长度在 MySQL v 5.0(myisam 数据库引擎)中的列上创建索引(它是文本数据类型,最多 7000 个字符),我是否必须添加具有第一列长度的另一列?
How do I create an index on a column in MySQL v 5.0 (myisam db engine) based upon the length of its value its a TEXT data type up to 7000 characters, do I have to add another column with the length of the first column?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,由于 MySQL 不支持基于函数的索引(例如
ADD INDEX myIndex(LENGTH(text)))
,因此您需要一个新的 int 列并定义一个 触发 在插入和更新后自动更新它。Yes, as MySQL doesn't support function-based indexes (like
ADD INDEX myIndex(LENGTH(text)))
, you'll need a new int column and define a trigger to auto-update it after inserts and updates.对我来说听起来是一个很好的方法(抱歉不了解mysql,但是在oracle中你可以设置一个触发器,这样当你的主列更新时,“长度”列就会自动更新)
Sounds like a good approach to me (sorry don't know mysql, but in oracle you could set a trigger so that when your main column is updated the "length" column gets automatically updated)