Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: MySQL: насколько объемные можно делать таблицы?
 
 автор: xpom   (18.04.2011 в 16:44)   письмо автору
 
 

Скажите, на какой объём лучше делать таблицы, т.е. например если в таблице будет миллион строк..поиск по ключе будет затруднителен?

  Ответить  
 
 автор: cheops   (18.04.2011 в 18:31)   письмо автору
 
   для: xpom   (18.04.2011 в 16:44)
 

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

  Ответить  
 
 автор: xpom   (18.04.2011 в 18:35)   письмо автору
 
   для: cheops   (18.04.2011 в 18:31)
 

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

чем больше строк, тем больше ключей, следовательно больше размер и медленнее будет работать блица?

  Ответить  
 
 автор: cheops   (18.04.2011 в 18:42)   письмо автору
 
   для: xpom   (18.04.2011 в 18:35)
 

>а в мегабайтах до скольки мегабайт можно создавать таблицу, для нормальной работы?
От здорово зависит от сервера и частоты запросов, чем чаще будут обращаться, тем чаще таблица будет заблокирована, тем больше будет очередь ожидающих запросов. До 100 Мб при средней посещаемости на виртуальном хостинге скорее всего ничего не будет.

>чем больше строк, тем больше ключей, следовательно больше размер и медленнее будет
>работать блица?
Это зависит от ключа и его селективности, горстка ключей может обслуживать очень большую таблицу.

  Ответить  
 
 автор: xpom   (18.04.2011 в 18:46)   письмо автору
 
   для: cheops   (18.04.2011 в 18:42)
 

100 Мб, это очень мало( а если гигабайт 5 будет..что ж тогда будет? И с посещением 5-6 тысяч в сутки

  Ответить  
 
 автор: cheops   (18.04.2011 в 18:55)   письмо автору
 
   для: xpom   (18.04.2011 в 18:46)
 

Есть разные способы, для начала можно вынести сервер на выделенный сервер с кучей памяти, которая выделена исключительно MySQL, включить буферы, настроить сервер. Затем можно разбивать таблицу на части, потом можно разделять задачи выборки и записи по разным серверам. В общем приемов достаточно много и зависит от характера таблицы и данных, которые в ней хранятся.

  Ответить  
 
 автор: xpom   (18.04.2011 в 18:43)   письмо автору
 
   для: xpom   (18.04.2011 в 18:35)
 

и если будет превышать обьем таблица с данными, можно будет продолжить в следующей? Можно будет создать такой запрос к базе, чтобы продолжал искать в другой таблице?

  Ответить  
 
 автор: cheops   (18.04.2011 в 18:53)   письмо автору
 
   для: xpom   (18.04.2011 в 18:43)
 

Можно, например, объединив два запроса при помощи конструкции UNION. Если используется MySQL версии 5.1 или выше, то разбить таблицы можно также при помощи сегментирования, тогда запросы к таким сегментированным таблицам будут протекать как будто это единая таблица.

  Ответить  
 
 автор: xpom   (18.04.2011 в 19:05)   письмо автору
 
   для: cheops   (18.04.2011 в 18:53)
 

Во общем можно делать таблицу для занесения большого количества информации...а потом уже, если что разбивать на несколько и делать запрос объединив таблицы?

  Ответить  
 
 автор: cheops   (18.04.2011 в 19:07)   письмо автору
 
   для: xpom   (18.04.2011 в 19:05)
 

Да, как один из вариантов.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования