Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Indeksy - blokowanie indeksowania i nowe indeksowanie
skleps
post 22.11.2012, 13:28:04
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

Ostrzeżenie: (0%)
-----


Tabela "tymczasowa", której zawartość raz dziennie będzie całkowicie usuwana a później wkładane od nowa tresć.
Opłaca mi się założyć indeks po polu, ale nie chciałbym żeby po każdym dodaniu jednego wiersza cały indeks był przebudowywany.
Algorytm wg mnie będzie atki:
1. usuwamy całą zawartość tabeli
2. blokujemy indeksowanie tabeli
3. wkładamy nową zawartość do tabeli
4. budujemy indeksy dla całej tabeli
5. używamy tabeli

jak zrobić pkt 2 i pkt 4?

Ten post edytował skleps 22.11.2012, 13:29:10
Go to the top of the page
+Quote Post
nospor
post 22.11.2012, 13:36:09
Post #2





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




Poprostu podczas zakładania tabeli jeszcze nie zakładaj dla niej indeksów. Dopiero po utworzeniu i załadowaniu danych dodaj indeksy dla tabeli


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
skleps
post 22.11.2012, 13:41:06
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 22.11.2012, 13:36:09 ) *
Poprostu podczas zakładania tabeli jeszcze nie zakładaj dla niej indeksów. Dopiero po utworzeniu i załadowaniu danych dodaj indeksy dla tabeli


Tabela istnieje ciągle - chciałbym uniknąć ciągłego usuwania i zakładania od nowa tabeli
(bo dziś kasuję ją do zera a być może jutro część rekordów będzie zostawała).
Miałem nadzieje że da sie wstrzymać indeskowanie na czas uzupełnainai dancyh w tabeli...
Go to the top of the page
+Quote Post
nospor
post 22.11.2012, 13:42:14
Post #4





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




Jejkus.... no to usuwaj indeks, wrzucaj dane, dodawaj spowrotem indeks.



http://dev.mysql.com/doc/refman/5.0/en/drop-index.html


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
skleps
post 22.11.2012, 13:43:23
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

Ostrzeżenie: (0%)
-----


Dzięki
Go to the top of the page
+Quote Post
nospor
post 22.11.2012, 13:49:46
Post #6





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




Możesz spróbować też tego:
Cytat
To disable MySQL indexes, make sure your file contains these commands before the import starts (replacing "table_name" with the real name of your table):
ALTER TABLE `table_name` DISABLE KEYS;

Then send these after the import:
ALTER TABLE `table_name` ENABLE KEYS;

That will make your import run much faster.

Pół minuty googlania wink.gif

Tu masz też parę wskazówek od samego mysql
http://dev.mysql.com/doc/refman/5.0/en/insert-speed.html
kolejne pół minuty googlania wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
skleps
post 22.11.2012, 17:48:20
Post #7





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 22.11.2012, 13:49:46 ) *
Możesz spróbować też tego:

Pół minuty googlania wink.gif

Tu masz też parę wskazówek od samego mysql
http://dev.mysql.com/doc/refman/5.0/en/insert-speed.html
kolejne pół minuty googlania wink.gif


No i to
ALTER TABLE tbl_name DISABLE KEYS;
ALTER TABLE tbl_name ENABLE KEYS;

głównie chodziło, czyli wyłącz/włącz indeksowanie.

Dzięki za pomoc smile.gif

Ten post edytował skleps 22.11.2012, 17:49:10
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.05.2025 - 07:16