![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 19.10.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli ktoś jest zainteresowany optymalizacją zapytania to proszę o pomoc.
Co to jest? Baza providerów, operujących na terenie miast i poszczególnych ulic. Dane: $province_id - identyfikator województwa $provider_id - identyfikator dostawcy Tablica miast (cities) z polami:
Dla podanego providera znaleźć miasta w których dostarcza on usługi. Pola:
Zapytanie: Zmienna $regexp jest ustawiana następująco:
No i samo zapytanie
EDIT: Dołączam rozwiązanie w php
Ten post edytował ShaXbee 9.12.2004, 22:50:04 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 19.10.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Cytuje z dokumentacji MySQL
Cytat An OR using a single key is well optimized, as is the handling of AND. The one tricky case is that of searching on two different keys combined with OR: SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1' OR field2_index = '1' This case is optimized from MySQL 5.0.0. See section 7.2.6 Index Merge Optimization. In MySQL 4.0 and up, you can also solve the problem efficiently by using a UNION that combines the output of two separate SELECT statements. See section 13.1.7.2 UNION Syntax. Link: http://dev.mysql.com/doc/mysql/en/Searching_on_two_keys.html |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 02:45 |