Нужен совет: таблица с несколькими миллионами записей

123 4
J
На сайте с 03.07.2006
Offline
122
2075

Здраствуйте!

Мне нужна информация,совет.

У меня есть таблица с примерно 1-10 млн записей (Пусть с именем table1). Точнее нет, но планируется.

Знающие люди скажите такое вобще возможно будет и как мускл будет выдерживать запросы в эту таблицу. Т.е. быстродействие таких запросов как:

select .. from table1 where id2=...

update table2.count = COUNT(table1.id1) .... where table1.id2 = ....

select COUNT(id1) form table1 where id2=....

update table2.sum = SUM(table1.ss) .... where table1.id2=...

Сколько по времени будут занимать такие запросы....

Или это ничего страшного и я зря паникую? :)

Тимонин Александр, Тольятти. Вконтакте https://vk.com/my.face (https://vk.com/my.face) Управление ссылками на своих сайтах + Контекстные ссылки (/ru/forum/489616) Скрипты, недорого отзывы от форумчан (/ru/forum/268922)
V1
На сайте с 30.03.2006
Offline
52
#1

Если задаете такие вопросы, то паникуете не зря.

По вашим данным никто вам ничего не скажет.

Напишите хотя бы DDL (описание полей и индексов) таблицы, планируемые запросы, соотношение количества операций select/insert.

Если правильно настроить будет работать прекрасно.

J
На сайте с 03.07.2006
Offline
122
#2

первая таблица около 9 полей. три поля int(11), два tinyint(4), два date, один varchar(255) и text(но в этом поле впринцепе не планируется много текста, вполне влезет в 255 чаров..)

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

wdsg
На сайте с 09.02.2009
Offline
31
#3

Jeff, у Вас при выборке всегда необходимо получать varchar и text? Существует ли логическая возможность выделить символьные поля в отдельную таблицу?

Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
BR
На сайте с 28.06.2008
Offline
75
#4
Jeff:
Сколько по времени будут занимать такие запросы....

- сильно зависит от того какими ресурсами Вы (точнее MySQL) располагаете (память выделенная СУБД, файловая подсистема которая хранит данные). Также многое зависит от типа таблиц MyISAM, InnoDB и т. д., используются ли транзакции, блокировки и т. п.

размещение сайтов (http://www.brim.ru)
J
На сайте с 03.07.2006
Offline
122
#5

мдамсс...

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

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

хотябы от скольки до скольки будет занимать один запрос

или какоето среднее значение на сейчашешний средний хостинг...т.е. чтото усредненное

BR
На сайте с 28.06.2008
Offline
75
#6
Jeff:
в том то и дело что то что делаю, будет использоваться на очень разных вариантах хостингов....
так что мне скорее пределы изменения времени нужны...
хотябы от скольки до скольки будет занимать один запрос

извините, но на это есть только юмористический ответ: "от забора, до обеда" - слишком много неопределенностей для того чтобы можно было прикинуть конкретные цифры. У одного хостера тарифные планы могут существенно отличаться по выделению ресурсов, настройкам, версиям ПО, используемому оборудованию и т. п.

J
На сайте с 03.07.2006
Offline
122
#7

хорошо, если можете то приведите пример хостинга (или его показателей) и соответствующие ему цифры.

Мне хотябы какуюнибудь инфу, т.к. с этим раньше не сталкивался...

BR
На сайте с 28.06.2008
Offline
75
#8
Jeff:
хорошо, если можете то приведите пример хостинга (или его показателей) и соответствующие ему цифры.

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

V1
На сайте с 30.03.2006
Offline
52
#9

Если хоть какую-нибудь:

исходные данные:

CREATE TABLE `syn` (

`name` varchar(200) DEFAULT NULL,

`slv` varchar(200) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

select count(*)

from syn

163571

select *

from syn s

where s.slv='водовоз'

Duration:0.00.02.421 (2 сек+)

select *

from syn s

where s.name like '%водовоз%'

Duration:0.00.00.328

Индексов на таблице нет, все это на денвере с дефолтными настройками.

Только, вся эта информация вам ничем не поможет...

J
На сайте с 03.07.2006
Offline
122
#10

да что хостинг...хостинг не проблема.

проблема в данных, у меня нет такой таблицы, но при использовании скрипта планируется такое кол-во записей.

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

Всем спасибо за ответы!

ЗЫ: если у когото еще есть что добавить или чтото новое что здесь еще не писалось - пишите.

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий