限制子句上的Python-mysql查询重写

时间:2019-01-06 06:10:35

标签: python mysql

我有一个查看器,我希望客户端可以预览SQL查询的1000个结果。 MySQL似乎是唯一没有优化SELECT * FROM (user_query) x LIMIT 1000的客户端,并且它在执行外部子查询之前等待整个子查询执行。

我对执行mysql查询的想法如下:

LIMIT = 1000
try:
    cursor.execute(user_query + ' LIMIT %s' % LIMIT)
except:
    try:
        cursor.execute(user_query)
    except:
        pass
res = [cursor.fetchone() for i in range(LIMIT)]

但是我想比上面有更好的方法来限制用户查询。什么是更好的方法?

似乎最好的方法似乎是使用mysql query rewrite plugin,但是我正在尝试在python中执行此操作。另外,我尝试使用antlr_plsqlmysqlparsequeryparser以及其他一些库,但这些库似乎都不准确(甚至根本无法解析有效的mysql语句)

0 个答案:

没有答案