python - sqlite查询中的对数函数?

标签 python sqlite

我确实需要使用对数函数对超过 400,000 行执行更新。不幸的是,SQLite 中似乎不存在 SQL 对数函数。有什么方法可以导出对数函数或导入 LOG 函数?

我知道如何做到这一点的唯一其他方法是我相信通过 python 排序 O(n^2)。这种方法将花费太长时间(我试过,在我的慢速计算机上大约需要 1.5 小时才能完成 6%)。

编辑:

我也发现了为什么花了这么长时间。数据库中的主键未标记为主键。所以我使用的代码如下:

for row in database:
    ...calculations for the row...
    ...sql update for the specific row which follows:...
    for search_row in database:
        if search_row[id] = row[id]:
            ...update values here...

难以置信的低效... O(n^2)

最佳答案

没有内置对数函数;您必须定义自己的功能。

如果您使用的是 Python,这对于 pysqlite 都是可能的和 APSW模块。

关于python - sqlite查询中的对数函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551884/

相关文章:

ios - Swift:获取结果集中的行数

android - 连接多个 SQLite 数据库文件

java - SQLite 没有在 Android studio 中创建任何表

python - Beautiful Soup - 获取所有文本,但保留链接 html?

python - "takes 0 positional arguments but 1 was given"错误

python - 如何修复“Python 返回方法不返回串联字符串中的整数

Python 单行求和实现?

android - 在 SQLite 数据库上检索数据时出错

mysql - 在数据库列中使用 NULL 的成本是多少?

python - 使用格式化将 time.struct_time 转换为字符串