imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 27.06.2006, 15:05     # 1
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Хранения текста в базе

Сразу извиняюсь, если вопрос уже обсуждался.
Я столкнулся с необходимостью реализации хранения больших объемов в базе.
Грубо говоря html + текст.
Вопрос.. из вашего опыта, как лучше это все хранить...
Просто загнать все в text ячейку?
Видимые для меня проблемы:
1. Скорость загрузки далека от идеала(сравнительно со статическим html)
2. Правильность форматирования текста
3. Разбитие на страницы

Заранее благодарен!
__________________
меня не вылечат
Псих вне форума  
Старый 27.06.2006, 15:18     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
1. Скорость загрузки далека от идеала(сравнительно со статическим html)
Воевать за каждую миллисекунду нужно только когда у тебя проект с посещаемостью не менее 10К. В остальных случаях это изобретение велосипеда.
Цитата:
2. Правильность форматирования текста
А каким образом хранение в БД может этому помешать?
Цитата:
3. Разбитие на страницы
Проще всего хранить уже в разбитом виде. А разбивать лучше всего руками.
RaZEr вне форума  
Старый 27.06.2006, 15:29     # 3
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Цитата:
RaZEr:
Воевать за каждую миллисекунду нужно только когда у тебя проект с посещаемостью не менее 10К
Просто я замечаю, что на диалапе тяжеловато текст большой из базы берется!
И без 10к посетителей!
__________________
меня не вылечат
Псих вне форума  
Старый 27.06.2006, 15:46     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Так скорее виноват диалап
RaZEr вне форума  
Старый 27.06.2006, 15:50     # 5
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
я имел ввиду по отношению к загрузке той же страницы локально!
__________________
меня не вылечат
Псих вне форума  
Старый 27.06.2006, 15:55     # 6
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
локально, - это с того же сервера но в html?
RaZEr вне форума  
Старый 27.06.2006, 15:58     # 7
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
тьфу. этож надо было такое сморознуть.
Я имел ввиду:
Берется страница статическая с этим же текстом
и берется динамическая , которая берет этот текст из базы!

И сравнивается.
так вот статическая быстрее грузится!
__________________
меня не вылечат
Псих вне форума  
Старый 27.06.2006, 16:01     # 8
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Возможно. Причины тому разные. Если условиться что динамику и статику отдаёт один и тот же сервер без каких-либо лишних наворотов, то самое вероятное: тормозит сервер БД. Нет, я не отрицаю - passthru() быстрее mysql_query(), но не настолько, чтобы это ощущалось визуально.
RaZEr вне форума  
Старый 27.06.2006, 16:05     # 9
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
RaZEr
Я не имел ввиду под статической страницей использование passthru.
Имел ввиду просто *.html страницу
Цитата:
RaZEr:
но не настолько, чтобы это ощущалось визуально.
А это не зависит от размера текста в базе?
__________________
меня не вылечат
Псих вне форума  
Старый 27.06.2006, 16:26     # 10
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
А это не зависит от размера текста в базе?
Конечно зависит. В твоём случае когда сервер отдаёт тебе простой html файл, ему ненадо запускать жирный php со всеми модулями.

По сути ненадо хранить тексты в базе, если нет ответа на вопрос - "зачем это надо?"
RaZEr вне форума  
Старый 27.06.2006, 16:29     # 11
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Во-первых, диалап тут совершенно не при чём. Диалап тормозит, когда страница уже готова для получения, а её никак не могут получить. А разница html или сгенерированная страница - это ощущается ещё до того, как она начинает получаться.
Вообще, конечно, апач отдаёт тексты быстрее, чем мускул. Но это зависит от:
1. Загруженности мускула
2. Оптимизации БД.
У меня вот тексты хранятся в базе. И текстов уже почти 1500. Всего база около 5М. Есть там и таблицы, в которых до 100000 строк...
Дело в том, что большие тексты надо выделять в отдельные таблицы с двумя полями: id и text. Причём id сделать первичным индексом и выбирать из этой таблицы только одну запись по этому индексу. А все остальные параметры, которые не занимают много места, отложить в другую таблицу и уже по ней делать различные выборки и т.п.
Self Author вне форума  
Старый 27.06.2006, 16:41     # 12
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Цитата:
Self Author:
ело в том, что большие тексты надо выделять в отдельные таблицы с двумя полями
Какие по вашему тексты называются большими?

RaZEr
Зачем надо.. вот тут подходим к ключевому вопросу....
чтобы потом можно было поиск осуществлять

да и просто, чтобы интерактивность обеспечить...
__________________
меня не вылечат
Псих вне форума  
Старый 27.06.2006, 16:56     # 13
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Цитата:
Псих:
Какие по вашему тексты называются большими?
Я думаю, это понятие относительное. Я почувствовал замедление работы, когда моя таблица с текстами стала перевешивать 3М. А тут уж, думаю, разницы нет, то ли куча мелких текстов, то ли немного, но больших.
У меня средний размер текста - 2,5К
Self Author вне форума  
Старый 27.06.2006, 16:57     # 14
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Цитата:
Псих:
чтобы потом можно было поиск осуществлять
а не проще ли тогда воспользоваться каким-нибудь индексером (поисковиком)? Ну не верю я что для ПХП не бывает поисковиков, которые могут строить индексы для поиска по текстовым файлам и по данным в БД. Все равно с большим текстом like будет медленно работать, а нормальный поисковик ощутимо быстрее... Вот, к примеру, поисковик для С, авось для ПХП похожее что-нить есть... http://incubator.apache.org/lucene4c/
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 27.06.2006, 17:03     # 15
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
Цитата:
Псих:
Какие по вашему тексты называются большими?
Которые больше 256 символов. То есть именно тексты а не надписи. У меня сделано примерно также, как у Self Author. Есть куча таблиц со всякими полями типа CHAR(80) и есть одна таблица в которой тексты типа MEDIUMTEXT. Один текст используется для заполнения одной страницы. Соответственно я каждый раз выбираю по порядковому номеру только один текст. И всё летает.
EvroStandart вне форума  
Старый 27.06.2006, 17:06     # 16
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Цитата:
EvroStandart:
У меня сделано примерно также, как у Self Author.
Посыпаю голову пеплом...
Это я только решил так сделать. А всё никак не сделаю. Вот и ворочается еле-еле. Аж посетителей жалко...
Self Author вне форума  
Старый 27.06.2006, 17:15     # 17
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Цитата:
EvroStandart:
о порядковому номеру только один текст. И всё летает.
если я не ошибаюсь, это обычная теория нормализации
__________________
меня не вылечат
Псих вне форума  
Старый 27.06.2006, 17:17     # 18
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
Цитата:
Псих:
если я не ошибаюсь, это обычная теория нормализации
Ж?пой чую что многие её незнают
EvroStandart вне форума  
Старый 27.06.2006, 21:53     # 19
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
Скажу как делаю я - составляю таблицу из двух полей id | text , возможно бывает и больше, например третье поле, где хранится стиль для этого текста, кстати, можно сделать еще четвертое поле с ключевыми словами (надо только чтб их было немного). Потом просто выбираю по id, иногда на id ставлю индекс - это увеличивает соответственно скорость select'a но сильно уменьшает скорость insert'а здесь нужно выбирать (причем это достаточно хорошо видно). поиск выбираю регулярным выражением (в мускуле это видимо LIKE, в посгресе я делаю просто ~), оно делается для конечного пользователя практически моментально, ибо оно на то и регулярное выражение. Безусловно нужно для каждой отдельной страницы делать свою запись в таблице, а еще лучше разбивать вообще весь контент просто логически, т.к. в данном случае чем больше разобьешь, тем быстрее будет работать (но это только в данном случае, т.к. даже логических блоков, скорее всего не много - <1000). Что касается скорости, то статика будет быстрее это точно, но скорость торможения на динамике зависит (и это 99% от всего торможения) от коннекта к самой базе (а базы, особенно у хостингов, а не у выделенных серваков слегка тормозят - отсюда и визуальное торможение), т.к. сам запрос на хорошем серваке - просто не заметно. А вообще для этого
Цитата:
Псих:
да и просто, чтобы интерактивность обеспечить...
и не только могу предложить следующий способ (так делал один из сайтов): весь текст страниц хранится в базе, через админ панель ты его изменяешь, а сами страницы - статика, просто в админке делаешь кнопку - "Обновить на сайте" и при этом все данные из базы перегоняются в статику - в итоге админ панель удобная и конечному пользователю вываливается быстрая статика
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 27.06.2006, 22:12     # 20
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Цитата:
Naked:
весь текст страниц хранится в базе, через админ панель ты его изменяешь, а сами страницы - статика, просто в админке делаешь кнопку - "Обновить на сайте" и при этом все данные из базы перегоняются в статику - в итоге админ панель удобная и конечному пользователю вываливается быстрая статика
У меня на сайте 3000 страниц (по мнению Яндекса). И мне нужно добавить какой-нибудь пункт меню или ещё что-нибудь, что должно лежать на каждой из этих страниц. Сколько же времени скрипт будет переписывать эти 3000 файлов?
Self Author вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:20.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.