Количество столбцов MySql

monk

Новичок
Количество столбцов MySql

Здравствуйте уважаемые! Такая вот проблема. Есть БД чата. В одной из основных таблиц, к которой каждое обновление и переход на любую страницу чата делается как минимум один запрос. В этой таблице 35 столбцов.

Для введения новых функций в чате необходимо добавление столбцов. Возникает вопрос, что лучше, добавить столбец, или использовать уже существующий, используемый для других целей? Т.е. записывать в один столбец данные для двух целей, затем доставать в виде массива и забирать нужное. (Там будут нули и еденички).

Хотел бы узнать, много ли, 35 столбцов для для такой постоянно запрашиваемой таблицы?

Попутный вопрос, на моем хостинге установилено ограниение на количество звпросов к БД. Это при том что я плачу 40 у.е. в месяц за услуги. Это, порой, серьезно ограничивает мои потребности для перспективного развития сайта. Что вы можете сказать об этом? Многие ли хостеры ставят ограничение на кол-во запросов? По вашему мнению, стоит ли мне оставаться клиентом такого хостера?
 

Румата

Новичок
Много для чего? Какой критерий? Если время , то можно постараться протестировать, посмотреть время выполнения скрипта, запроса...

PS. А что это за столбцы, можно узнать?
 

monk

Новичок
Я оптимизирую скрипты, стараюсь уменьшить время выполнения, но в итоге по необходимости введения новых функций приходится накручивать дополнительный код, и добавлять новые стобцы в таблице.

Столбцы?
id | login | pass | email | и т.д...(в общей сложности 35 на данный момент)

Может существуют какие-то рекомендуемые ограничения по количеству стобцов в таблице......?
 

Румата

Новичок
И каждый раз нужна выборка именно всех 35 столбцов?
А время устраивает, за которое сейчас скрипт выполняется?

PS. Помните фразу, которую сказал Кнут про оптимизацию?
 

monk

Новичок
Не всегда, но в большенстве запросов стоит "select * ... "

Да, забыл сказать, что в самой таблице 40 000 записей.

Таблица запрашивается достаточно часто. В час пик до 150-200 пользователей online.

Время выполнения колеблется: 0.12915; 0.30027; 0.44088; 0.09625
В час пик врямя увеличивается.

>PS. Помните фразу, которую сказал Кнут про оптимизацию?

К сожалению нет...
 

tashkentchi

Новичок
на моем хостинге установилено ограниение на количество звпросов к БД. Это при том что я плачу 40 у.е. в месяц за услуги. Это, порой, серьезно ограничивает мои потребности для перспективного развития сайта. Что вы можете сказать об этом? Многие ли хостеры ставят ограничение на кол-во запросов? По вашему мнению, стоит ли мне оставаться клиентом такого хостера?
Впервые слышу, что такие хосты бывают. Да еще за 40 у.е. А можно спросить сколько запросов в месяц разрешено?
Я бы ушел на другой хост.

-~{}~ 05.05.07 15:09:

Может речь о числе одновременных коннектов идет?
 

monk

Новичок
tashkentchi

Какое ограничение стоит на кол-во запросов к БД?
"support: 57600 ко всем базам на аккаунте в течение часа"

По моим просьбам мне увеличили до 70000 в час...Но и
этого порой не хватает. Из-за этого я разделяю таблицы по разным базам данных...
 

tashkentchi

Новичок
Жестоко. И действительно имеет смысл?
Если есть большая база, можно ведь и одним запросом сервер повесить.
 

Фанат

oncle terrible
Команда форума
Количество столбцов на производительность, разумеется, не влияет. база данных, сорбственно, для того и разрабатывалась, чтобы кни количество столбцов, ни количество строк, на скорость запросов не влияло.

А что на самом деле влияет на производительность - это оптимизация скриптов и запросов.

Если стоит задача уменьшить количество запросов, то её и следует решать. К примеру, работать с текстовым файлом вместо бд.
писать все данные из базы в сессию, и брать данные из неё.
если при каждом обращении к скрипту идет запись в базу, то можно писать не каждый раз, а один на 10 обращений.

Если стоит задача оптимизировать, то надо искать узкие места. замерить время выполнения запросов. получить по этим запросам explain. проанализировать и по возможности оптимизировать.
 

Angerslave

Новичок
Фанат дело говорит, но начать, я думаю, нужно с простой оптимизации запросов. Поудалять SELECT *, и выставить там только то, что нужно. Ты ведь не покупаешь все прилавки в магазине, когда тебе только колбаса, хлеб и молоко нужны?:)
 

Фанат

oncle terrible
Команда форума
Angerslave
не надо с этого начинать.
начинать надо с того, что тормозит.
"замена * на то, что нужно" - это не оптимизация, а детский лепет.

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

оптимизировать надо то, что тормозит больше всего.
 
Сверху