Articles of sqlite

使用gnuplot来绘制sqlite数据库

我有一个包含以下格式的基本天气信息的sqlite数据库: temp1 temp2 pressure humidity 22 23 1024 40 24 25 1027 45 25 26 1020 62 18 15 1019 80 我怎样才能使用gnuplot来绘制这个数据? 在能够绘制数据之前,我必须重新排列数据吗?

是不可中断的睡眠我的Python程序的原因是真的很慢(如果是这样,我该如何解决这个问题?)?

我有以下select语句(使用sqlite3和pysqlite模块): self.cursor.execute("SELECT precursor_id FROM MSMS_precursor "+ "JOIN spectrum ON spectrum_id = spectrum_spectrum_id "+ "WHERE spectrum_id = spectrum_spectrum_id "+ "AND ROUND(ion_mz,9) = ? AND ROUND(scan_start_time,4) = ? "+ "AND msrun_msrun_id = ?", select_inputValues) 在Python中运行需要55秒。 直接在SQLite命令行上运行它只需要15ms。 现在,我注意到,在这个步骤中,Python程序进入了不间断的睡眠状态( 31283 ndeklein 18 0 126m 24m 3192 D 1.0 0.0 2:02.50 python ,顶级输出中的D),并从100%的CPU下降到1 % 中央处理器。 现在我在查询过程中注意到了,在运行查询时我也查看了顶部输出。 在这段时间内,top也显示它会进入不间断的睡眠状态,虽然它在R和D之间来回切换,只减慢到50%左右(根据D或R状态而变化)。 所以现在我认为这是减慢我的查询速度(请纠正我,如果不间断的睡眠与程序速度无关)。 如果这是真的,我怎样才能确保程序不会进入这种状态? 更新1: […]

sqlite插入需要很长时间

我插入一个sqlite数据库表只有200,000行。 我只是在terminal中通过sqlite3使用非常简单的.sql文件。 我敢打赌它已经跑了至less30分钟了。 这是正常的,还是应该closures这个过程,尝试一些不同的东西?

如何编译与ICU的SQLite?

我从http://www.sqlite.org/sqlite-autoconf-3070701.tar.gz下载了sqlite 我怎样才能编译与icu的sqlite?

SQLite查询的执行时间:单位

正如在SQLite文档中所描述的,人们可以使用: sqlite> .timer ON 或者将相同的命令添加到〜/ .sqliterc 完成此操作后,SQLite shell会对每个执行的查询以CPU时间的用户和sys组件进行响应: user@machine% sqlite3 test.db — Loading resources from ~/.sqliterc SQLite version 3.7.14 2012-09-03 15:42:36 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> select count(*) from my_table; count(*) 10143270 CPU Time: user 0.199970 sys 1.060838 虽然我发现这个答案在几秒钟内为时间单位提供了证据,但我却很难同意。 当使用秒表计时执行查询时,我发现几乎每个查询所花费的时间都比shell的时间要长。 例如,上面例子中的查询时间约为1分54秒 。 这种差异的原因是什么? 那么再一次,这些单位是什么? 什么是用户和系统组件? 我在通过NFS访问的Debian GNU / […]

将数据embedded到C ++程序中

我有一个使用SQLite的C ++程序。 我想将SQL查询存储在一个单独的文件中 – 一个纯文本文件, 而不是一个源代码文件 – 但是将该文件embedded到可执行文件中,就像资源一样。 (这个必须在Linux上运行,所以我不能把它作为一个实际的资源存储,据我所知,尽pipe如果它是Windows的话,那将是完美的)。 有没有简单的方法来做到这一点,还是会有效地要求我为Linux编写自己的资源系统? (很容易,但需要更长的时间。)

为什么Windows提供了一个sqlite3.OperationalError和Linux不?

问题 我有一个程序使用风暴0.14 ,它给了我这个错误在Windows上: sqlite3.OperationError:数据库表被locking 事情是,在Linux下它工作正常。 我有这样的印象,只有在完成了一定的修改之后才会发生,就像在某些代码中发生的那样,它会复制大量的对象。 打开debugging模式给了我这个在Windows上: 83 EXECUTE:'UPDATE regularorder_product SET discount =? WHERE regularorder_product.order_id =? AND regularorder_product.product_id =?',(Decimal(“25.00”),788,274) 84完成 85 EXECUTE:'UPDATE repeated_orders SET nextDate =? WHERE repeated_orders.id =?',(datetime.date(2009,3,31),189) 86错误:数据库表被locking 在linux上: 83 EXECUTE:'UPDATE regularorder_product SET discount =? WHERE regularorder_product.order_id =? AND regularorder_product.product_id =?',(Decimal(“25.00”),789,274) 84完成 85 EXECUTE:'UPDATE repeated_orders SET nextDate =? WHERE repeated_orders.id =?',(datetime.date(2009,3,31),189) 86完成 系统信息 […]

有没有办法中止SQLite调用?

我在Windows应用程序中使用SQLite3。 我有源代码(所谓的SQLite合并)。 有时我必须执行大量的查询。 也就是说,我在准备好的语句上调用sqlite3_step ,并且花费很多时间来完成(由于繁重的I / O负载)。 我想知道是否有可能放弃这样的电话。 如果能够在同一个线程的调用过程中进行一些后台处理(因为大部分时间都用于等待I / O完成),我也会很高兴。 我想过自己修改SQLite代码。 在最简单的情况下,我可以在每次调用ReadFile / WriteFile之前检查一些条件(例如中止事件句柄),并适当地返回一个错误代码。 并且为了允许后台处理文件应该以重叠模式打开(这使得asynchronous的ReadFile / WriteFile )。 在某些情况下,即使启用了日志, WriteFile中断是否有可能使数据库处于不一致的状态? 我想不是,因为日志文件的整个想法是准备任何types的任何错误。 但是我想听到更多的意见。 另外,有人尝试过类似的东西吗? 提前致谢。 编辑: 感谢ereOn。 我没有意识到sqlite3_interrupt的存在。 这可能回答我的问题。 现在,对于所有人来说,想知道在同一个线程的I / O期间如何(以及为什么)要做一些后台处理。 不幸的是,很多人都不熟悉所谓的“重叠I / O”。 http://en.wikipedia.org/wiki/Overlapped_I/O 使用它可以asynchronous地发出I / O操作,并且调用线程不会被阻塞 。 然后使用完成机制之一接收I / O完成状态:等待事件,排队到APC中的新例程或完成端口。 使用这种技术不需要创build额外的线程。 实际上创build线程的唯一真正的合法化是当你的瓶颈是计算时间(即CPU负载),并且机器有几个CPU(或核心)。 而创build一个线程只是为了让它在大多数时间被操作系统阻塞 – 这是没有道理的。 这导致操作系统资源的不合理浪费,使程序复杂化(需要同步等)。 不幸的是,并不是所有的库/ API都允许asynchronous操作模式,因此创build额外的线程必然是邪恶的。 EDIT2: 我已经find了解决scheme,thansk ereOn。 对于所有那些坚持认为在“等待”I […]

在C#中创buildCron作业

我在C#中编写一个调度types的应用程序,并允许用户存储他们想要在特定时间运行的任务。 现在我给他们指定运行频率(每日/每周/每月)以及指定时间的选项,然后存储在数据库中。 我有点麻烦,只是把我的头围绕在这个背后的伪代码上,我正在寻找一些关于如何实现它的build议。 我每60秒运行一个重复计时器来检查每个任务是否需要运行,但是当我需要使用date/时间并且添加循环日(每天/每周/等)时,似乎总是碰到路障它甚至更多。

在Windows上使用SQLite的Spatialite扩展

我知道这是以前曾经以类似的方式问过的。 但是,我发现的所有问题都涉及到一些非常具体的系统设置,这些系统设置对我来说是不适用的(因为我的是这样)。 系统: Windows 7 64位 Python 3.4 64位 sqlite3 2.6.0(与Python我猜) Spatialite Windows二进制文件2.3.1(其他任何重要的东西?) 我如何激活sqlite3模块的spatialite扩展? 我所尝试的(其他人在类似问题中说的方式): 从https://www.gaia-gis.it/spatialite-2.3.1/binaries.html下载: libspatialite-win-x86-2.3.1.zip proj-win-x86-4.6.1.zip geos-win-x86-3.1.1.zip libiconv-win-x86-1.9.2.zip 把它们全部解压缩到C:\ (也只尝试将DLL放入该文件夹) 将该文件夹放入我的系统PATHvariables 然后,跑步 import sqlite3 conn = sqlite3.connect(":memory:") conn.enable_load_extension(True) conn.execute('SELECT load_extension("libspatialite-2.dll")') 给 conn.execute("SELECT load_extension('libspatialite-2.dll')") sqlite3.OperationalError: The specified module could not be found. 还有什么可以尝试做这个工作?