给自己搭个量化投资系统之二——给mysql加上索引

举报
darkpard 发表于 2022/05/13 21:23:29 2022/05/13
【摘要】 刚在给自己搭个量化投资系统之一——一次装饰器的应用提到自己搭的mysql数据库运行可能比较慢,因此特地给数据库操作加了个装饰器打印一下操作需要的时间,马上发现一次数据库操作的时长从0.01秒级上升到了0.1秒级,尽管可能是因为多线程引起的,但从日志看对大部分表的查询操作都有“where trade_date=XXXXXXXX”,因此不由得想到给trade_date字段加个索引。加索引非常简单...

刚在给自己搭个量化投资系统之一——一次装饰器的应用提到自己搭的mysql数据库运行可能比较慢,因此特地给数据库操作加了个装饰器打印一下操作需要的时间,马上发现一次数据库操作的时长从0.01秒级上升到了0.1秒级,尽管可能是因为多线程引起的,但从日志看对大部分表的查询操作都有“where trade_date=XXXXXXXX”,因此不由得想到给trade_date字段加个索引。

加索引非常简单,只需要运行以下代码即可

alter table daily add index (trade_date);

运行完后再来看daily表的各列

show columns from daily;

可以看到trade_date列已经加上了索引

图片

需要注意的是索引应该加在查询语句的where中经常要用到的列上,每个索引的增加都要慎重,对于大的表或频繁操作的表不要加过多的索引,因为它会占用一定的内在,并且在插入、修改等操作时增加一定的动作。

参考文献:

  1. https://wenku.baidu.com/view/7cf6b5fbcd2f0066f5335a8102d276a201296046.html
  2. https://m.php.cn/article/418474.html
  3. http://seo.wordc.cn/wap/contentlp.asp?id=1052
  4. https://www.runoob.com/mysql/mysql-index.html
  5. https://blog.csdn.net/qq_27198345/article/details/116376158
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。