|
Нет ТЗ - давай досвидания
|
|
Оптимизация работы с БД09.03.2013, 16:57. Показов 2476. Ответов 23
Метки нет (Все метки)
Прошло 5 недель, как я перешёл на веб-разработку. У меня много вопросов касающихся оптимизации. Самый главный вопрос, который сейчас меня волнует, это оптимизация работы с бд.
Имеется база данных, в которой существует две таблицы: "новости" и "комментарии к новостям". При переходе на главную страницу, в БД посылается запрос на считывание данных и вывод информации, т.е. новостей или комментарий с новостью. Хорошо. Всё работает, но я то пока на сайте один А что если таких запросов будет 1000 за 1 минуту? Да БД будет постоянно отваливаться! Нужно как-то свести к минимуму обращения к БД. Что я думаю по этому поводу: Нужно создать две таблицы. В одну из них будет загружена таблица с новостями, а в другую с комментариями. При переходе на страницу с новостями или на страницу с новостью и комментариями, запрос будет выполнен к этой таблице, а не к БД. Таблицу с новостями, можно будет обновлять по необходимости, т.е. появилась новая новость - подгрузили её в таблицу. А таблицу с комментариями обновлять раз в сутки! Т.е. если был добавлен комментарий, то мы его загружаем не в БД, а потом считываем данные в таблицу; мы добавлям запись к таблице, а потом, например в конце дня автоматически запускается скрипт и обновляет БД из этой таблицы. Или даже можно сделать две таблицы: с новыми комментариями и старыми, чтоб лишние действия не делать в поиске свежих комментариев. Так вот. Правильны ли мои мысли? Как оно вообще по сути делается правильно? Подкиньте источников или название книги какой-нибудь.
0
|
|
| 09.03.2013, 16:57 | |
|
Ответы с готовыми решениями:
23
Загрузка данных, оптимизация алгоритма для работы с сервером Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация Оптимизация работы |
|
638 / 416 / 27
Регистрация: 03.11.2009
Сообщений: 1,855
|
||
| 10.03.2013, 19:46 | ||
|
вообще еще есть кеширование, страница которая не меняется кешируется в озу или в папке на винчестере и отдается нгиксом
про индексы не забыли? еще есть быстрые базы данных memcached, redis
1
|
||
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
||||
| 10.03.2013, 20:43 | ||||
Есть мем кеш, результаты запросов можно хранить в нем. Но изначально вопрос стоит по-идиотски - "а что будет если.." Вот когда у тебя будет 1000 запросов в минуту - тогда и можно будет говорить о чем-либо. Сейчас разговор бессмыслен. Добавлено через 1 минуту ну и http://phpclub.ru/mysql/doc/mysql-indexes.html
1
|
||||
|
Нет ТЗ - давай досвидания
|
||||||
| 10.03.2013, 21:02 [ТС] | ||||||
|
0
|
||||||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||||||
| 10.03.2013, 23:30 | ||||||||
![]()
1
|
||||||||
| 10.03.2013, 23:36 | |
|
0
|
|
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
|
| 11.03.2013, 00:44 | |
|
0
|
|
|
Нет ТЗ - давай досвидания
|
||||||||
| 11.03.2013, 12:58 [ТС] | ||||||||
Добавлено через 12 минут Не по теме: Где срачь? Никого нет.
0
|
||||||||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
||
| 11.03.2013, 13:06 | ||
|
Не по теме: А вообще, показать одну строчку - все равно что показать руль от машины и сказать "Скажи, как тебе машина?" :D
1
|
||
|
Нет ТЗ - давай досвидания
|
|||||
| 11.03.2013, 13:15 [ТС] | |||||
|
0
|
|||||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|||||
| 11.03.2013, 13:18 | |||||
1
|
|||||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
| 11.03.2013, 13:30 | |
|
а вы включите вывод ошибок E_NOTICE, сразу поймете
Чтение несуществующей переменнойПри обращении без кавычек пых сначала пытается найти константу с таким именем, а уже только потом смотрит как на индекс, подставляя кавычки
1
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||||||||||
| 11.03.2013, 13:48 | ||||||||||||
![]() Покажите структуру таблицы. Ну а по поводу плохости запроса, главный минут тут не в кавычках двойных или одинарных, сокрость очень не значительна. Главный минус в том тчо имена полей и название таблиц вы не заключаете в `обратные апострофы`. Обзовёте поле или таблицу служебным словом, ну например count, захотите выбрать поле
1
|
||||||||||||
|
Нет ТЗ - давай досвидания
|
|||||||
| 11.03.2013, 13:52 [ТС] | |||||||
0
|
|||||||
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
||
| 11.03.2013, 14:04 | ||
|
зачем тут like?
Добавлено через 2 минуты
0
|
||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
| 11.03.2013, 14:05 | |
|
0
|
|
|
Нет ТЗ - давай досвидания
|
|
| 11.03.2013, 14:31 [ТС] | |
|
Я сайт создаю на хостинге hostinger, там раз в сутки база данных сама отваливается. =)
0
|
|
| 11.03.2013, 14:31 | |
|
Помогаю со студенческими работами здесь
20
Оптимизация работы с ТЗ Оптимизация Работы С Тз Оптимизация работы с изображениями Оптимизация работы Windows 8 ? Оптимизация работы класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|