Ответ
Для выборки по колонке с уникальными данными оптимально использовать индекс (обычно PRIMARY KEY или UNIQUE). В PHP это реализуется через SQL-запросы с условием WHERE по этой колонке.
Пример с PDO:
$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'password');
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => 'user@example.com']);
$user = $stmt->fetch();
Ключевые моменты:
- Убедитесь, что колонка имеет UNIQUE constraint
- Для быстрого поиска используйте индекс (автоматически создаётся для PRIMARY/UNIQUE)
- В PHP лучше использовать подготовленные запросы для безопасности
Для частых выборок в памяти можно использовать ассоциативный массив, где ключ - уникальное значение:
$usersByEmail = [];
foreach ($users as $user) {
$usersByEmail[$user['email']] = $user;
}
// Быстрый доступ
$user = $usersByEmail['user@example.com'] ?? null;