|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
|||||||||||
MySQL Оптимизация обращения к БД MySQL20.10.2018, 11:40. Показов 2944. Ответов 31
Добрый день.
У меня есть массив, в котором хранятся id в определенном порядке, в котором статьи должны выводится на экран, например:
Я вывожу статьи в порядке предусмотренном в $poryadok.
Можно ли как-то один раз записать всю таблицу в $interesnoe, закрыть соединение с сервером MySQL, а потом вытащить уже из $interesnoe значения title, image и text, привязанные к id? Заранее благодарен за ответ.
0
|
|||||||||||
| 20.10.2018, 11:40 | |
|
Ответы с готовыми решениями:
31
Оптимизация запросов к MySQL Оптимизация кода php+mysql |
|
1315 / 1007 / 232
Регистрация: 01.10.2018
Сообщений: 3,911
|
|
| 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
|
|||||||
|
1315 / 1007 / 232
Регистрация: 01.10.2018
Сообщений: 3,911
|
||||
| 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
|
|||||||||||||||||
|
1315 / 1007 / 232
Регистрация: 01.10.2018
Сообщений: 3,911
|
|
| 20.10.2018, 22:45 | |
|
Существует шаблон проектирования Active record (AR). Но по-моему он вам не нужен, хотя я по-прежнему не понимаю, какие у вас еще остаются проблемы после данных в этой теме объяснений.
Откуда берется $poryadok? При использовании баз данных в коде не должно оставаться практически никаких фактических данных. Если у вас имеются какие-то проблемы с организацией структуры базы данных, можете мне написать.
0
|
|
|
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 777
|
||
| 20.10.2018, 22:48 [ТС] | ||
|
0
|
||
|
1315 / 1007 / 232
Регистрация: 01.10.2018
Сообщений: 3,911
|
|
| 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
|
||
|
1315 / 1007 / 232
Регистрация: 01.10.2018
Сообщений: 3,911
|
||
| 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
|
||
|
1315 / 1007 / 232
Регистрация: 01.10.2018
Сообщений: 3,911
|
||||||
| 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 запрос оптимизация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|