MySQL big tables
15 отговора
469 прегледа
MySQL big tables
здравейте,
работя по проект в който използвам MySQL 4.0.16, resin 2.1.10, jdk 1.4, TICL 1.0 tag library. Очаквам таблиците да садържат около 2 милиона записа на година с големина около 60 МБ. Въпросът ми е следният:
Нужно ли е да правя организация така че таблиците да са с по-малка големина(например да разделя данните на тримесечие)?
Компютъра на който ще работи апликацията е с Win2K, 128M, 700Mhz.
благодаря.
работя по проект в който използвам MySQL 4.0.16, resin 2.1.10, jdk 1.4, TICL 1.0 tag library. Очаквам таблиците да садържат около 2 милиона записа на година с големина около 60 МБ. Въпросът ми е следният:
Нужно ли е да правя организация така че таблиците да са с по-малка големина(например да разделя данните на тримесечие)?
Компютъра на който ще работи апликацията е с Win2K, 128M, 700Mhz.
благодаря.
Re: MySQL big tables
зависи какво мислиш да правиш с тях...
ако просто ще си стоят там и няма много да ровиш в тях значи всичко е ок
ако просто ще си стоят там и няма много да ровиш в тях значи всичко е ок
A byrzodeistvieto?
Nali predi limita ste se sortira po dati - tova niama li da zabavia rabotata.
Re: MySQL big tables
Доста необмислен отговор. Дори не знаеш за какво става дума, ама давай - в една таблица.
Ами аз моите 96 таблици ако ги сложа в 1 (не че има как да стане), сещай се какво ще се случи
Ами аз моите 96 таблици ако ги сложа в 1 (не че има как да стане), сещай се какво ще се случи
Извинявай
Замислих се какво имаш в предвид. Прав си.
Май аз давам необмислени отговори.
Май аз давам необмислени отговори.
Re: MySQL big tables
какво те кара на Win2K да пускаш MySQL ?
аз бих ползвал MS SQL ....
иначе - мисля, че два милиона записа не е чак толкоз огромна таблица, че да и се притесняваш...
[линк]
аз бих ползвал MS SQL ....
иначе - мисля, че два милиона записа не е чак толкоз огромна таблица, че да и се притесняваш...
[линк]
Re: MySQL big tables
ами поради три причини:
- клиента не иска да плаща по-вече за лицензи
- идеята е всичко това заедно да може лесно да се пренася от компютър на компютър само като се копира директорията.
- не съм работил с MSSQL но си мисля, че там ще трябва да се аминистрира и т.н.
тази нощ вкарах 2,5 млн записа и сега ще видя как е....
на първи взгляд като гледам ще трябва да оптимизирам всички заявки...
- клиента не иска да плаща по-вече за лицензи
- идеята е всичко това заедно да може лесно да се пренася от компютър на компютър само като се копира директорията.
- не съм работил с MSSQL но си мисля, че там ще трябва да се аминистрира и т.н.
тази нощ вкарах 2,5 млн записа и сега ще видя как е....
на първи взгляд като гледам ще трябва да оптимизирам всички заявки...
Re: MySQL big tables
и какво за твойте 96 таблици??
ти от 2М реда на година ли се притесняваш??
и кво, като ги разбие на тримесечия и му потрябва за няколко ще пише union-и като гламав ли???
баси...
ти от 2М реда на година ли се притесняваш??
и кво, като ги разбие на тримесечия и му потрябва за няколко ще пише union-и като гламав ли???
баси...
Re: A byrzodeistvieto?
нищо, лимит-а пак ще спре, като намери необходимата бройка резултати от индекса
единствения "шанс" лимит-а да препаре-не целия резултат е да се фечва и общата бройка на резултата
виж [линк]
единствения "шанс" лимит-а да препаре-не целия резултат е да се фечва и общата бройка на резултата
виж [линк]
Re: MySQL big tables
значи по-подробно:
- на всяка минута се правят по 2 записа
- ограничил съм справката да не съдържа период по-голям от 3 месеца
- ако ги разбия на тримесечия най-много ще имам union на две таблици
тестовете на таблица с 2.5 млн записа не са обнадеждаващи...
може би и аз не създавам индексите както трябва но е бавнооо
- на всяка минута се правят по 2 записа
- ограничил съм справката да не съдържа период по-голям от 3 месеца
- ако ги разбия на тримесечия най-много ще имам union на две таблици
тестовете на таблица с 2.5 млн записа не са обнадеждаващи...
може би и аз не създавам индексите както трябва но е бавнооо
дааа
И индексите и построяването на заявките са важни.
Ако можеш да дадеш повече конкретна информация за INSERT и SELECT заявките, които ще правиш, евентуално ще можем и да ти помогнем повече.
А дори и да имаш индекс върху полето за датата, пак е от голямо значение как ще си построиш заявките:
mysql> select COUNT(*) from SS;
+----------+
| COUNT(*) |
+----------+
| 3181155 |
+----------+
1 row in set (0.00 sec)
mysql> select COUNT(*) from SS where datetime>NOW()-INTERVAL 1 HOUR;
+----------+
| COUNT(*) |
+----------+
| 1284 |
+----------+
1 row in set (0.00 sec)
mysql> select COUNT(*) from SS where datetime>NOW()-INTERVAL 1 DAY;
+----------+
| COUNT(*) |
+----------+
| 15485 |
+----------+
1 row in set (0.04 sec)
mysql> select COUNT(*) from SS where datetime>NOW()-INTERVAL 1 MONTH;
+----------+
| COUNT(*) |
+----------+
| 410949 |
+----------+
1 row in set (1.12 sec)
Everything louder than everything else...
Ако можеш да дадеш повече конкретна информация за INSERT и SELECT заявките, които ще правиш, евентуално ще можем и да ти помогнем повече.
А дори и да имаш индекс върху полето за датата, пак е от голямо значение как ще си построиш заявките:
mysql> select COUNT(*) from SS;
+----------+
| COUNT(*) |
+----------+
| 3181155 |
+----------+
1 row in set (0.00 sec)
mysql> select COUNT(*) from SS where datetime>NOW()-INTERVAL 1 HOUR;
+----------+
| COUNT(*) |
+----------+
| 1284 |
+----------+
1 row in set (0.00 sec)
mysql> select COUNT(*) from SS where datetime>NOW()-INTERVAL 1 DAY;
+----------+
| COUNT(*) |
+----------+
| 15485 |
+----------+
1 row in set (0.04 sec)
mysql> select COUNT(*) from SS where datetime>NOW()-INTERVAL 1 MONTH;
+----------+
| COUNT(*) |
+----------+
| 410949 |
+----------+
1 row in set (1.12 sec)
Everything louder than everything else...
Re: MySQL big tables
След като оптимизираш заявките си пусни по един explain и виж къде да си оптимизирап и някои други неща :-)))))))
помисли и за оптимизация на полетата -> намаляване на размера на полето, което е по-голямшко ако е възожно, също и индекс по част от полето и т.н.
Обещавам ти че ако хвърлиш достатъчно много усилия и четене ще постигнеш повече от задоволителен резултат.
П.С. Ако някой е рекъл да се заяжда за бройка и големина и т.н. да прочете това :
Скии' кво брато аз не 2 а 20 милиона записа ги ям за закуска така че можеш само да правиш като вятъра :-)
За другите не важи :-)))
Е тук нищо няма:[линк]
помисли и за оптимизация на полетата -> намаляване на размера на полето, което е по-голямшко ако е възожно, също и индекс по част от полето и т.н.
Обещавам ти че ако хвърлиш достатъчно много усилия и четене ще постигнеш повече от задоволителен резултат.
П.С. Ако някой е рекъл да се заяжда за бройка и големина и т.н. да прочете това :
Скии' кво брато аз не 2 а 20 милиона записа ги ям за закуска така че можеш само да правиш като вятъра :-)
За другите не важи :-)))
Е тук нищо няма:[линк]
Редактирано от ro6avia на
Re: MySQL big tables
за съжаление времето ми изтича....
тъй като смятам, че с базите данни съм много по-зле отколкото с програмирането ще го направя от към програмата.....
за което съжалявам, защото всеки път така става....
Благодаря на всички и успехи ви желая.
тъй като смятам, че с базите данни съм много по-зле отколкото с програмирането ще го направя от към програмата.....
за което съжалявам, защото всеки път така става....
Благодаря на всички и успехи ви желая.