小编gol*_*les的帖子

有没有理由不在数据库表的索引上使用auto_increment?

我继承了维护一个编码很差的电子商务网站的任务,我正在努力重构很多代码并尝试修复持续存在的错误.

每个数据库插入(将项目添加到购物车等)都以grab_new_id函数开始,该函数COUNT表中的行数,然后,从该数字开始,查询数据库以查找未使用的索引号.除了性能非常糟糕(已经有40,000多行,并且索引被定期删除,所以有时只需要几秒钟才能找到一个新的id)这会在两个操作同时执行时定期中断,因为添加了两个条目具有重复的ID号.

这对我来说似乎很愚蠢 - 为什么不在索引字段上使用自动增量?我已经对它进行了两种测试,并且在没有指定索引ID的情况下向表中添加行(显然)要快很多倍.我的问题是:任何人都可以想到原始程序员可能做到这一点的任何原因吗?是否有一些思想流派将auto_increment视为不良形式?是否有没有自动增量功能的数据库?

mysql auto-increment

7
推荐指数
2
解决办法
1345
查看次数

如何确定 PHP CLI 脚本的输出是否通过管道传输到另一个命令?

可能的重复:
PHP 能否检测它是从 cron 作业还是从命令行运行?

我正在尝试确定 PHP 命令行脚本上的 STDOUT 资源是否通过管道传输到另一个命令,以便适当地显示表格数据(如果输出直接到终端,则表格单元格看起来不错包裹在+-----+边框中;但如果尝试使用awk或 其他命令检查该数据,则不会。)

找到这个答案后,我尝试检查 STDOUT 资源stream_get_meta_data()以及我可以在 PHP 手册中找到的所有其他函数,这些函数对流进行操作,但在每种情况下,资源看起来都完全相同,无论它是否通过管道传输到另一个过程与否。

有没有办法在PHP中找到这个?

php

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

标签 统计

auto-increment ×1

mysql ×1

php ×1