相关疑难解决方法(0)

获得表行计数的最有效方法

我目前有一个超过600万行的数据库,并且还在增长.我目前做SELECT COUNT(id)FROM table; 为了向我的用户显示该号码,但数据库变得越来越大,除了能够显示该号码之外,我不需要存储所有这些行.有没有办法选择要显示的auto_increment值,以便我可以清除数据库中的大多数行?使用LAST_INSERT_ID()似乎不起作用.

mysql sql count

65
推荐指数
4
解决办法
11万
查看次数

如何让ActiveRecord在Ruby on Rails中显示下一个id(last + 1)?

如果一个对象将被持久化到数据库,是否有一种紧凑的方式使用ActiveRecord来查询下一个要使用的id?在SQL中,像这样的查询看起来像:

SELECT max(id) + 1 FROM some_table;
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

42
推荐指数
5
解决办法
3万
查看次数

MySQL查询MYSQL自增字段的下一个序列号

在 MySQL 中,是否可以按顺序查询下一个数字以获取自动递增字段?

对于名为 projects 的表,该表的主键project_id是一个自动递增字段。在插入新行之前,我想知道将分配给 project_id 的编号。

我该如何查询?

mysql

4
推荐指数
1
解决办法
2万
查看次数

从MySQL表中获取下一个空闲ID的最短方法是什么?

我有一张带id柱子的桌子.ids按升序排列,但不一定是连续的.例如:1,2,3,5,6,10,11,12

我需要找到下一个"free"id,即max(id)+ 1(如果表为空,则为1).

目前我在PHP中这样做:

function get_free_id($con) {
    $sql = "SELECT MAX(id) AS last_id FROM Table";
    $last_id_query = mysql_query($sql, $con);
    $last_id_result = mysql_fetch_array($last_id_query);
    $last_id = $last_id_result['last_id'];  
    return ($last_id == NULL) ? 1 : ($last_id + 1);
}
Run Code Online (Sandbox Code Playgroud)

我觉得这个功能对于这个简单的任务来说"太长了",并且可以做得更简单.

我对吗 ?怎么样 ?

php mysql

0
推荐指数
1
解决办法
2801
查看次数

标签 统计

mysql ×3

activerecord ×1

count ×1

php ×1

ruby-on-rails ×1

sql ×1