English 中文(简体)
删除数据库中最后25%的记录
原标题:SQLite delete the last 25% of records in a database
  • 时间:2010-05-25 22:37:28
  •  标签:
  • sql
  • sqlite

我正在利用一个LQ数据库储存数据记录仪的数值。 数据记录最终将填补计算机上的所有可用硬盘空间。 I m 寻求一种办法,一旦数据库达到一定限度,即从数据库中删除最后25%的记录。

采用以下守则:

$ret = Query(  SELECT id as last FROM data ORDER BY id desc LIMIT 1 ;  ); 
$last_id = $ret[0][ last ] ; 
$ret = Query(  SELECT count( * ) as total FROM data  );
$start_id = $last_id - $ret[0][ total ] * 0.75 ; 
Query(  DELETE FROM data WHERE id <  . round( $start_id, 0 ) );

在数据库旁边创建了一个期刊档案,填补了车上剩余的空间,直到该笔记录失效。

How/Can I stop this journal file from being created? Anyway to combined all three SQL queries in to one statement?

最佳回答

如果该期刊是问题的唯一原因,你可以尝试ite记,或取而代之。

http://www.sqlite.org/pragma.html#modification”rel=“nofollow noreferer” The docs:

PRAGMA journal_mode;
PRAGMA database.journal_mode;
PRAGMA journal_mode = DELETE | TRUNCATE | PERSIST | MEMORY | OFF
PRAGMA database.journal_mode = DELETE | TRUNCATE | PERSIST | MEMORY | OFF

这种 p问或为与目前数据库链接有关的数据库设定了期刊模式。

头两种形式的这种 p令是目前的新闻模式。 第一种形式是归还拖欠的杂志。 缺省新闻发布方式是数据库在随后的ATTACH报表中添加链接所用的方式。 第二种形式是恢复目前用于具体数据库的发布模式。

最后两种形式改变了新闻发布方式。 第4版修改了特定数据库连接的发布模式。 主要数据库使用“主线”(由原来的Sqlite3_open(开放)、Sqlite3_open16(开放)或Sqlite3_open_v2()接口电话开放的数据库)和为持有TEMP表格的数据库使用“temp”。 第3版修改了所有数据库的发布模式,并修改了随后的ATTACH指挥所增加的新数据库所用的缺省新闻模式。 新的新闻模式已经恢复。 如果无法改变期刊模式,原期刊模式就会归还。

“DELETE”新闻模式是正常行为。 在DELETE模式中,在每个交易结束时删除了滚动期刊。 事实上,删除行动是导致交易承诺的行动。 (见题为《原子辐射影响》的文献资料库,以补充细节)

跨国废除酷刑行动组织通过将滚动期刊拖到零宽而不是删除,来进行交易。 在许多系统中,由于文件目录不需要改动,因此拖拉文件的速度要快得多。

PERSIST新闻发布方式防止每笔交易结束时的滚动杂志被删除。 相反,该期刊的头部用零书写。 这将防止其他数据库链接转播该期刊。 PERSIST新闻模式是有用的,是优化平台,在平台上,档案的删除或封顶要比在零件档案的首个编上翻写费用高得多。

MEMORY新闻发布模式在不稳定的RAM中储存着滚动期刊。 这节省了第I/O光盘,但牺牲了数据库的安全和完整性。 如果在确定MEMORY报界模式后,在交易中间使用KQ坠毁,那么数据库档案很有可能会腐败。

外国金融局的期刊方式使滚动杂志完全失效。 从未发行过滚动期刊,因此从来也没有一份滚动杂志删除。 外国武装部队的报导方式使法国马克的原子承诺和退缩能力丧失。 南盟指挥官不再工作;其行为方式不明确。 申请必须避免使用RoLBACK指挥系统,而新闻模式是外国武装部队。 如果在外国金融公司注册模式确定后交易中的申请发生故障,那么数据库档案很可能腐败。

请注意,中层数据库的期刊“mode”是MEMORY还是 OFF,不能改为不同价值。 试图将期刊“内流层数据库之门”改为除MEMORY 或 OFF以外的任何环境,这是被忽视的。 还请注意,在交易活跃时,不能改变该期刊。

问题回答

暂无回答




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签