Re: Збереження результатів виконанння sql запиту
було таке) і про запит у 300 рядків казали, де вона дає ефективність)
300 рядків коду запита (не плутати з 300 рядками вибірки з таблиці)
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Бази даних → Збереження результатів виконанння sql запиту
було таке) і про запит у 300 рядків казали, де вона дає ефективність)
300 рядків коду запита (не плутати з 300 рядками вибірки з таблиці)
Regen написав:було таке) і про запит у 300 рядків казали, де вона дає ефективність)
300 рядків коду запита (не плутати з 300 рядками вибірки з таблиці)
я пам'ятаю)
сьогодні вирішив проблему
ось як тепер усе праює:
1.за допомогою запиту
SELECT COUNT(*) FROM table WHERE len=5
вибираю кількість записів, які мають 5 букв (це, до речі працює 72мс)
2.результат запита, отриманий на попередньому кроці, використовую для генерації рандомного номеру потрібного запису (вірніше його порядку, наприклад 10- 10-ий запис, де кількість букв 5)
і зберігаю, припустімо, у змінній num
3. юзаю ось такий запит, в якому уже не використовую RANDOM() який найбільше його тормозив
SELECT word FROM table WHERE len=5 LIMIT num,1
на виконання усіх цих дій йде близько 134мс (в принципі можна кількість записів записати у файлик і тоді це працюватиме приблизно удвічі швидше)
Висновок: RANDOM() краще не юзати, бо він в першу чергу вибирає усі дані, які відповідають умові, а тоді здійснює їх хаотичне сортування, що займає в рази більше часу, ніж використання власного метода вибору рандомного запису
P.S. дякую усім за відповіді, особливо, юзерам koala та ailkiv, без порад яких мені б не вдалось оптимізувати запит