python - SQL Select Query 耗时过长,无法加载
问题描述
我正在尝试使用 python 和 sql 从数据库中检索信息。
目前,其中一个表需要大量时间来查询,实际上是不可加载的。
我怎样才能更有效地加载这些数据?
这是我正在使用的当前代码,
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import psycopg2 as pg
from sqlalchemy import create_engine
#establishing the connection
conn = pg.connect(
database=POSTGRESQL_DATABASE, user=POSTGRESQL_USER, password=POSTGRESQL_PASSWORD, host=POSTGRESQL_HOST, port=POSTGRESQL_PORT
)
SQL = '''
select sentiments.user_id,
settings.diagnosis,expressions.angry,expressions.disgusted,
expressions.fearful,expressions.happy,expressions.neutral,
expressions.sad,expressions.surprised,expressions.created,
settings.medication,settings.dosage_times,settings.medication_activity_time,
settings.gender,settings.age, sentiments.id, sentiments.sentiment,
sentiments.magnitude, sentiments.created,
pupil_detections.created,pupil_detections.left_eye_upper,pupil_detections.left_eye_lower,pupil_detections.right_eye_upper
,pupil_detections.right_eye_lower,pupil_detections.left_eye_iris,pupil_detections.right_eye_iris
from sentiments
left join expressions
on sentiments.user_id = expressions.user_id
left join pupil_detections
on sentiments.user_id = pupil_detections.user_id
left join settings
on sentiments.user_id = settings.user_id;
'''
df = pd.read_sql(SQL, con=conn)
df
有没有办法批量请求或类似的东西?巨大的表是瞳孔检测数据库。
除了使用熊猫之外,还有另一种方法可以访问这些数据以对其进行分析吗?
谢谢!
解决方案
推荐阅读
- r - 如何通过重复出现 pid 逐年生成滞后变量
- ssh - 为什么我不能在 GCP 中使用主机名 ssh 进入实例?
- symfony - Symfony 3 - 表单集合仅将数据发送到一个表
- r - 如何在 R 循环中动态更新传递给 fable 包中 ARIMA 函数的变量名称,?
- c++ - 文件打不开
- jenkins - 仅在 gitlab 合并请求上触发多分支管道
- c# - .Net core 2.2 到 3.x 迁移:Url.Action 生成错误的 URL,端点路由已停用
- codeigniter - Codeigniter 数据库错误号:1048,它说即使列不为空,列“I”也不能为空
- javascript - 使用 Jpeg-autorotate npm 模块基于 EXIF Data javascript 旋转图像
- javascript - 做出反应。可编辑表