首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sql选择语句优化

问Sql选择语句优化
EN

Stack Overflow用户
提问于 2020-12-08 09:04:17
回答 1查看 66关注 0票数 0

我在sql中使用以下信息模式创建了一个测试表,如下所示:

​

​

现在,我使用python脚本提取此信息,代码如下所示:

代码语言:javascript
复制
import pandas as pd
import mysql.connector
 
db = mysql.connector.connect(host="localhost", user="root", passwd="abcdef")
pointer = db.cursor()
pointer.execute("use holdings")
x = "Select * FROM orders where tradingsymbol like 'TATACHEM'"
pointer.execute(x)
rows = pointer.fetchall()
rows = pd.DataFrame(rows)
stock = rows[1]

​

​

生产表包含200个唯一的交易符号,并具有与测试表类似的架构。

我对以下声明表示怀疑:

代码语言:javascript
复制
x = "Select * FROM orders where tradingsymbol like 'TATACHEM'"

我将不得不更换价值的交易符号200倍,这是无效的。

有什么有效的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-08 09:27:45

如果我正确地理解了你,你的问题是你想避免对每个交易符号发送多个查询,对吗?在这种情况下,下面的MySQL输入可能会有所帮助。然后,只需向数据库发送一个查询,其中包含所需的所有交易符号。如果你想用不同的交易符号做不同的事情,你可以选择熊猫的子集。

另一个性能改进可能是sql,因为这在某种程度上加快了数据文件的创建速度。

为了提高效率,还需要增加两件事:

  • 确保在MySQL中对交易符号进行索引,以加快查找过程
  • 使交易符号成为ENUM,以确保不接受任何类型或相似的类型。否则,上面提到的"IN“方法也不起作用,因为它做了全文比较。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65195993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档