Mysql =?iso-8859-1?q?spos=F3b?= indexowania
tj - 27-02-2007 00:02
Mysql =?iso-8859-1?q?spos=F3b?= indexowania
Wiajcie.
Mam stworzoną tabele w taki sposób. USE postfix; CREATE TABLE `alias` ( `address` varchar(255) NOT NULL default '', `goto` text NOT NULL, `domain` varchar(255) NOT NULL default '', `create_date` datetime NOT NULL default '0000-00-00 00:00:00', `change_date` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(4) NOT NULL default '1', PRIMARY KEY (`address`) ) TYPE=MyISAM COMMENT='Virtual Aliases - mysql_virtual_alias_maps';
Ja przerobić, skrypt tak aby wykorzystywał indeksowanie w mysql. Prawdopodobnie indeksownie przyspiesza wyszukiwanie.
Pozdrawiam T.J
sg - 27-02-2007 00:02
Dnia 26-02-2007 o 15:41:31 tj <pomoc_wytni_to@elk.com.pl_wytnij> napisał(a):
> Wiajcie. > > Mam stworzoną tabele w taki sposób. > USE postfix; > CREATE TABLE `alias` ( > `address` varchar(255) NOT NULL default '', > `goto` text NOT NULL, > `domain` varchar(255) NOT NULL default '', > `create_date` datetime NOT NULL default '0000-00-00 00:00:00', > `change_date` datetime NOT NULL default '0000-00-00 00:00:00', > `active` tinyint(4) NOT NULL default '1', > PRIMARY KEY (`address`) > ) TYPE=MyISAM COMMENT='Virtual Aliases - mysql_virtual_alias_maps'; > > Ja przerobić, skrypt tak aby wykorzystywał indeksowanie w mysql. > Prawdopodobnie indeksownie przyspiesza wyszukiwanie. > > Pozdrawiam > T.J
ale jaki skrypt? jakie zapytanie? wystarczy założyć jakiś indeks... może wtedy będzie używany a może nie
=?iso-8859-2?q?Bart=B3omiej_Syryjczyk?= - 28-02-2007 00:07
=?iso-8859-2?q?Re:_Mysql_spos=F3b_indexowania?=
On 26 Lut, 15:41, tj <pomoc_wytni...@elk.com.pl_wytnij> wrote: > Wiajcie. > > Mam stworzoną tabele w taki sposób. > USE postfix; > CREATE TABLE `alias` ( > `address` varchar(255) NOT NULL default '', > `goto` text NOT NULL, > `domain` varchar(255) NOT NULL default '', > `create_date` datetime NOT NULL default '0000-00-00 00:00:00', > `change_date` datetime NOT NULL default '0000-00-00 00:00:00', > `active` tinyint(4) NOT NULL default '1', > PRIMARY KEY (`address`) > ) TYPE=MyISAM COMMENT='Virtual Aliases - mysql_virtual_alias_maps'; > > Ja przerobić, skrypt tak aby wykorzystywał indeksowanie w mysql. > Prawdopodobnie indeksownie przyspiesza wyszukiwanie. mysql> USE INDEX PLEASE; Query OK, 0 rows affected (0.04 sec)
http://dev.mysql.com/doc/refman/5.0/...l-indexes.html
guzik
tj - 28-02-2007 00:07
Dnia Mon, 26 Feb 2007 20:21:45 +0100, sg napisał(a):
> Dnia 26-02-2007 o 15:41:31 tj <pomoc_wytni_to@elk.com.pl_wytnij> > napisał(a): > >> Wiajcie. >> >> Mam stworzoną tabele w taki sposób. >> USE postfix; >> CREATE TABLE `alias` ( >> `address` varchar(255) NOT NULL default '', >> `goto` text NOT NULL, >> `domain` varchar(255) NOT NULL default '', >> `create_date` datetime NOT NULL default '0000-00-00 00:00:00', >> `change_date` datetime NOT NULL default '0000-00-00 00:00:00', >> `active` tinyint(4) NOT NULL default '1', >> PRIMARY KEY (`address`) >> ) TYPE=MyISAM COMMENT='Virtual Aliases - mysql_virtual_alias_maps'; >> >> Ja przerobić, skrypt tak aby wykorzystywał indeksowanie w mysql. >> Prawdopodobnie indeksownie przyspiesza wyszukiwanie. >> >> Pozdrawiam >> T.J > > ale jaki skrypt? jakie zapytanie? > wystarczy założyć jakiś indeks... może wtedy będzie używany a może nie
Jest to system pocztowy. Mam stworzoną baze tak jak powyżej i wyczytałem, że można przyspieszyć działanie bazy poprzez indekwowanie. SELECT goto FROM alias WHERE address='tu_adres@jakas_domena' AND active = 1 Czy w tym przypadku pomoże indexowanie.
Dzięki T.J
A.L.E.C - 28-02-2007 00:07
tj napisał(a):
> Jest to system pocztowy. Mam stworzoną baze tak jak powyżej i > wyczytałem, że można przyspieszyć działanie bazy poprzez indekwowanie. > SELECT goto FROM alias WHERE address='tu_adres@jakas_domena' AND active = > 1 > Czy w tym przypadku pomoże indexowanie.
ALTER TABLE alias ADD INDEX address (address); ALTER TABLE alias ADD INDEX domain (domain);
-- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.org.pl
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 28-02-2007 00:07
A.L.E.C wrote: > tj napisał(a): > >> Jest to system pocztowy. Mam stworzoną baze tak jak powyżej i >> wyczytałem, że można przyspieszyć działanie bazy poprzez indekwowanie. >> SELECT goto FROM alias WHERE address='tu_adres@jakas_domena' AND active = >> 1 >> Czy w tym przypadku pomoże indexowanie. > > ALTER TABLE alias ADD INDEX address (address);
Ale ten index już ma (PK).
> ALTER TABLE alias ADD INDEX domain (domain);
Ten mu nic nie da dla tego zapytania. Może jeszcze zrobić index na (address,active), ale przyspieszenie z tego będzie niezauważalne.
A pytanie do pytającego. Dlaczego chcesz przyspieszać?
-- P.M.
A.L.E.C - 28-02-2007 00:07
Paweł Matejski napisał(a):
>> ALTER TABLE alias ADD INDEX address (address); > > Ale ten index już ma (PK).
no tak, nie zauważyłem
>> ALTER TABLE alias ADD INDEX domain (domain); > > Ten mu nic nie da dla tego zapytania.
dla tego nie, ale skoro jest tam takie pole, to przypuszczam, że zapytanie może być inne ;)
-- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.org.pl
tj - 01-03-2007 00:01
Dnia Tue, 27 Feb 2007 19:25:34 +0100, Paweł Matejski napisał(a):
> A.L.E.C wrote: >> tj napisał(a): >> >>> Jest to system pocztowy. Mam stworzoną baze tak jak powyżej i >>> wyczytałem, że można przyspieszyć działanie bazy poprzez indekwowanie. >>> SELECT goto FROM alias WHERE address='tu_adres@jakas_domena' AND active = >>> 1 >>> Czy w tym przypadku pomoże indexowanie. >> >> ALTER TABLE alias ADD INDEX address (address); > > Ale ten index już ma (PK). > >> ALTER TABLE alias ADD INDEX domain (domain); > > Ten mu nic nie da dla tego zapytania. > Może jeszcze zrobić index na (address,active), ale przyspieszenie z tego będzie > niezauważalne. > > A pytanie do pytającego. Dlaczego chcesz przyspieszać?
Bo czasy są trochę długie nawet 320 ms. Oraz phpmyadmin mam coś takiego i myślę, że jak zrobię indeksy, to wartość 50K będzie na zielona a nie jak teraz na czerwono, co oznacza pewnie błąd. Handler_read_rnd_next 50k Liczba żądań odczytu następnego rekord w pliku z danymi. Wartość jest duża przy wykonywania wielu przeszukiwań tabeli. Ogólnie sugeruje to, że tabele nie są poprawnie zindeksowane lub że zapytania nie są napisane w sposób pozwalający skorzystać z istniejących indeksów.
Pozdrawiam
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 01-03-2007 00:01
tj wrote: > Dnia Tue, 27 Feb 2007 19:25:34 +0100, Paweł Matejski napisał(a): > >> A.L.E.C wrote: >>> tj napisał(a): >>> >>>> Jest to system pocztowy. Mam stworzoną baze tak jak powyżej i >>>> wyczytałem, że można przyspieszyć działanie bazy poprzez indekwowanie. >>>> SELECT goto FROM alias WHERE address='tu_adres@jakas_domena' AND active = >>>> 1 >>>> Czy w tym przypadku pomoże indexowanie. >>> ALTER TABLE alias ADD INDEX address (address); >> Ale ten index już ma (PK). >> >>> ALTER TABLE alias ADD INDEX domain (domain); >> Ten mu nic nie da dla tego zapytania. >> Może jeszcze zrobić index na (address,active), ale przyspieszenie z tego będzie >> niezauważalne. >> >> A pytanie do pytającego. Dlaczego chcesz przyspieszać? > > Bo czasy są trochę długie nawet 320 ms. > Oraz phpmyadmin mam coś takiego i myślę, że jak zrobię indeksy, to wartość > 50K będzie na zielona a nie jak teraz na czerwono, co > oznacza pewnie błąd. > Handler_read_rnd_next 50k Liczba żądań odczytu > następnego rekord w pliku z danymi. Wartość jest duża przy wykonywania > wielu przeszukiwań tabeli. Ogólnie sugeruje to, że tabele nie są poprawnie > zindeksowane lub że zapytania nie są napisane w sposób pozwalający > skorzystać z istniejących indeksów.
No to z tego wynika, że raczej masz problem, że nie wykorzystujesz indexu który masz - przynajmniej tak wynika z Twoich wypowiedzi.
-- P.M.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
oracle -> oracle lub oracle -> mysql replikacja - programy
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
[MySQL] Zwrot tego, co pasuje i nie pasuje :-/
[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
[mysql] galeria zdjec - numerowanie zdjec
[MySQL] Zapytanie z pliku , wynik do pliku
[mysql] CONCAT agregujący, ale nie GROUP_CONCAT()
mysql data 0000-00-00 na koniec
zanotowane.pldoc.pisz.plpdf.pisz.plczterowers.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|