Php 选择一组具有已知随机ID的记录
使用数组中给定的随机ID选择相当多(20-50)行的最佳方法是什么 例如,这样的代码可以工作(我猜) 我记得我以前读过一些答案,建议避免使用中的Php 选择一组具有已知随机ID的记录,php,mysql,pdo,Php,Mysql,Pdo,使用数组中给定的随机ID选择相当多(20-50)行的最佳方法是什么 例如,这样的代码可以工作(我猜) 我记得我以前读过一些答案,建议避免使用中的,因为这样做很慢 执行此操作的最佳技术是什么?它并不“慢”,但对于大型集合,有更好的方法来执行此操作,例如,创建一个包含中值的临时表,然后对该表进行联接。尝试了上述方法吗?就你的目的而言,它是慢的吗?没有索引,它是慢的,但是如果那是你的主键列,那么这样做完全可以。这是一本关于如何做的书。@Dagon它可以做这项工作,但我是在理论上说的。教育是关键,不,S
,因为这样做很慢
执行此操作的最佳技术是什么?它并不“慢”,但对于大型集合,有更好的方法来执行此操作,例如,创建一个包含中值的临时表,然后对该表进行联接。尝试了上述方法吗?就你的目的而言,它是慢的吗?没有索引,它是慢的,但是如果那是你的主键列,那么这样做完全可以。这是一本关于如何做的书。@Dagon它可以做这项工作,但我是在理论上说的。教育是关键,不,S.O是关于实际问题,而不是理论“关注你所面临的实际问题。包括你所尝试过的和你正试图做的细节。”
$array = [1, 53, 11, 334, 5, 96, ...]; // about 50 elements but could be more;
$sql = 'SELECT * FROM table WHERE id IN (' . substr(str_repeat('?,', count($array)), -1) . ')';
$st = $pdo->prepare($sql);
$st->execute($array);
$st->fetchAll(); // results