|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
|||||||||||
MySQL Оптимизация обращения к БД MySQL20.10.2018, 11:40. Показов 2857. Ответов 31
Добрый день.
У меня есть массив, в котором хранятся id в определенном порядке, в котором статьи должны выводится на экран, например:
Я вывожу статьи в порядке предусмотренном в $poryadok.
Можно ли как-то один раз записать всю таблицу в $interesnoe, закрыть соединение с сервером MySQL, а потом вытащить уже из $interesnoe значения title, image и text, привязанные к id? Заранее благодарен за ответ.
0
|
|||||||||||
| 20.10.2018, 11:40 | |
|
Ответы с готовыми решениями:
31
Оптимизация запросов к MySQL Оптимизация кода php+mysql |
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
|
| 20.10.2018, 12:48 | |
|
Нужно.
WHERE `id` IN(), но значительно лучше хранить в базе данных порядковый номер (в отдельном поле).
0
|
|
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
|||
| 20.10.2018, 13:07 [ТС] | |||
|
id,title,image,text 1,title1,image1,text1 2,title2,image2,text2 3,title3,image3,text3 и т.д. Добавлено через 3 минуты
0
|
|||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||||||
| 20.10.2018, 13:25 | |||||||
0
|
|||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
||||
| 20.10.2018, 16:29 | ||||
0
|
||||
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
|||||||||||||||||
| 20.10.2018, 21:41 [ТС] | |||||||||||||||||
|
Вот, например один из элементов массива:
Я создал шаблон, в который подставляются данные из массива. Например, если в шаблоне необходимо прописать адрес до изображения, я прописываю:
Создал я таблицу: id=>1659, потом path_img => "/images/comb/" и т.д. Потом всё то же самое для 1670, 1654 и т.д. И планировал так же доставать значения из таблицы (как делал из массива), но не так, чтобы: подключился к базе, считал значение, закрыл подключение. И так открывать таблицу за каждым значением. Хотелось бы, чтобы: подключился к базе, считал значения, записал в переменную, закрыл подключение. И дальше доставать по одному необходимому значению уже не из таблицы, а из переменной, которая бы вобрала в себя всю таблицу. Всё, что я нашёл в интернете - это как вывести либо все столбцы, либо как только одно какое-то значение, либо все значения из столбца, но то, как я описал, я не нашел. Так и придется работать с php-массивом или доставать из MySQL по одному значению (подключаясь и почти сразу отключаясь от базы), что будет нагружать MySQL и снижать производительность.
0
|
|||||||||||||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
|
| 20.10.2018, 22:45 | |
|
Существует шаблон проектирования Active record (AR). Но по-моему он вам не нужен, хотя я по-прежнему не понимаю, какие у вас еще остаются проблемы после данных в этой теме объяснений.
Откуда берется $poryadok? При использовании баз данных в коде не должно оставаться практически никаких фактических данных. Если у вас имеются какие-то проблемы с организацией структуры базы данных, можете мне написать.
0
|
|
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
||
| 20.10.2018, 22:48 [ТС] | ||
|
0
|
||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
|
| 20.10.2018, 23:03 | |
|
Вы хотите, чтобы PHP залез вам в голову?
![]() Если определить массив с порядком в коде, то вы можете воспользоваться предложенным мной способом в сообщении #5. Но, как было написано там же, порядок лучше тоже хранить в базе данных. В отдельном поле. Или на худой конец жонглировать идентификаторами.
0
|
|
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
|
| 20.10.2018, 23:27 [ТС] | |
|
0
|
|
|
Невнимательный
|
|||||||||||
| 21.10.2018, 00:35 | |||||||||||
Добавлено через 12 минут тоже с другого боку
0
|
|||||||||||
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
||||||||||||
| 21.10.2018, 09:55 [ТС] | ||||||||||||
Простой пример: имеется таблица tablitsa с тремя столбцами id, title и text, в каждом столбце имеются какие-то данные: 1-title1-tetx1 (это в первой строке), 2-title2-text2 (это во второй строке) и т.д. Я выбираю из таблицы все данные:
0
|
||||||||||||
|
Невнимательный
|
|
| 21.10.2018, 10:39 | |
|
значит неправильно понял суть вопроса
ORDER BY FIELD(id,2,5,1,7) и пытался сделать для того чтобы ряды уже были отсортированы в нужном порядке... а так, если для какого-то другого повторного использования, придётся все эти данные копировать в память(переменную), типа в цикле делать $rows[] = mysql_fetch_array($interesnoe) и потом использовать массив $rows как вариант можно попробовать юзать mysql_data_seek ($interesnoe,0);
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 21.10.2018, 10:48 | ||
|
0
|
||
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
||
| 21.10.2018, 11:40 [ТС] | ||
|
0
|
||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
||
| 21.10.2018, 11:44 | ||
|
Но для вывода в цикле это не требуется. Просто вы выбрали самый неудачный для этого тип цикла.
0
|
||
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
||
| 21.10.2018, 11:47 [ТС] | ||
|
Как в данном случае, считываем строчки 2,5,1,7, а потом вывести значение столбца title из строчки 5, и больше ничего не выводить.
0
|
||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
||||||
| 21.10.2018, 11:59 | ||||||
0
|
||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 21.10.2018, 12:00 | ||
|
0
|
||
|
Невнимательный
|
||||||
| 21.10.2018, 12:02 | ||||||
0
|
||||||
| 21.10.2018, 12:02 | |
|
Помогаю со студенческими работами здесь
20
PHP+MySQL оптимизация при подщете количества записей в каждой категории Оптимизация кода PHP+MYSQL. При большом количестве посетителей: ошибка 500
Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация Mysql запрос оптимизация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|