Случайная строка MySQL с PHP- низкими системными ресурсами - PullRequest
0 голосов
/ 10 ноября 2009

Я хочу получить случайную строку из MySQL, не используя слишком много времени или ресурсов в системе. Я не беспокоюсь о том, что приведенный код основан на PHP или MySQL, , однако, обратите внимание, что в моей таблице есть пробелы. Мои столбцы таблицы 'id' (первичный ключ, автоинкремент), varchar, int, int

Я бы хотел, чтобы это было как можно более случайным

Ответы [ 3 ]

2 голосов
/ 10 ноября 2009
1 голос
/ 10 ноября 2009

Я бы сделал это в два запроса и три шага в целом.

  1. Найдите количество строк в таблице, используя SELECT COUNT(*) FROM your_table
  2. Используйте математические функции PHP , чтобы найти случайное число между 0 и числом строк
  3. Получите фактические данные, которые вы хотите, используя SELECT * FROM your_table LIMIT 200, 1, где 200 - случайное число, которое вы вычислили на шаге 2.
0 голосов
/ 10 ноября 2009

Вы можете использовать:

SELECT id FROM table ORDER BY RAND() limit 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...