Niedawno pobrałem bazę REGON z GUSu. Posiada ona taką strukturę
-- -- Struktura tabeli dla tabeli `firmy_gus` -- CREATE TABLE `firmy_gus` ( `krs` int(10) NOT NULL, `name` varchar(256) CHARACTER SET utf8 NOT NULL, `street` varchar(256) CHARACTER SET utf8 NOT NULL, `city` varchar(64) CHARACTER SET utf8 NOT NULL, `code` varchar(6) CHARACTER SET utf8 NOT NULL, `post` varchar(64) CHARACTER SET utf8 NOT NULL, `nip` bigint(10) NOT NULL, `regon` bigint(14) NOT NULL, `phone` varchar(256) CHARACTER SET utf8 NOT NULL, `email` varchar(64) CHARACTER SET utf8 NOT NULL, `www` varchar(64) CHARACTER SET utf8 NOT NULL, `created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `form` varchar(256) CHARACTER SET utf8 NOT NULL, `proper` varchar(256) CHARACTER SET utf8 NOT NULL, `registrator` varchar(256) CHARACTER SET utf8 NOT NULL, `register` varchar(256) CHARACTER SET utf8 NOT NULL, `creator` varchar(256) CHARACTER SET utf8 NOT NULL, `regdate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `begin` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `regondate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `suspend` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `renew` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `ended` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `deleted` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Przykładowe zapytania jakie do niej zadaję:
SELECT * FROM `firmy_gus` WHERE added > '" .date("Y-m-d",(time()-14*86400))."' SELECT added, COUNT(*) AS ile FROM `firmy_gus` WHERE `added` <= CURRENT_TIMESTAMP GROUP BY DATE(`added`) ORDER BY `added` DESC LIMIT 60" SELECT COUNT(*) FROM firmy_gus WHERE regdate LIKE '$data[0]%' AND suspend NOT LIKE '0000-00-00 00:00:00' SELECT COUNT(*) AS `Rekordy`, `street` FROM `firmy_gus` GROUP BY `street` ORDER BY `Rekordy` DESC"
oraz mam stronę z 12 tabelkami (dla każdego miesiąca) gdzie każda w pętli zadaje ok. 20 zapytań:
SELECT COUNT(*) FROM spolki WHERE name NOT LIKE 'Stowarzyszenie' AND UPPER(street) NOT LIKE '%UL. MIŁA 2%' AND UPPER(name) NOT LIKE '%KANCELARI%' AND UPPER(name) NOT LIKE '%NOTARIUSZ%' AND UPPER(name) NOT LIKE '%PARK ENERGII SŁONECZNEJ PARAFII %' AND UPPER(street) NOT LIKE '%ALEJE JEROZOLIMSKIE 85/21%' AND UPPER(street) NOT LIKE '%ALEJA JANA PAWŁA II 27%' AND UPPER(street) NOT LIKE '%UL. HOŻA 86%' AND UPPER(street) NOT LIKE '%UL. MARSZAŁKOWSKA 84/92/117%' AND UPPER(street) NOT LIKE '%UL. CHMIELNA 2/31%' AND UPPER(street) NOT LIKE '%UL. PORY 78%' AND UPPER(street) NOT LIKE '%UL. WAŁBRZYSKA 11/253A%' AND UPPER(street) NOT LIKE '%UL. ŚWIĘTY MARCIN 29%' AND UPPER(street) NOT LIKE '%UL. ELEKTORALNA 13/121%' AND UPPER(street) NOT LIKE '%UL. FREZERÓW 3%' AND UPPER(street) NOT LIKE '%UL. FRYDERYKA CHOPINA 41/2%' AND UPPER(street) NOT LIKE '%UL. SOLEC 81B/A-51%' AND UPPER(street) NOT LIKE '%UL. NOWOGRODZKA 50/515%' AND UPPER(street) NOT LIKE '%UL. ŚWIĘTOKRZYSKA 30/63%' AND UPPER(street) NOT LIKE '%UL. GÓRCZEWSKA 53%' AND UPPER(street) NOT LIKE '%UL. WITA STWOSZA 16%' AND UPPER(street) NOT LIKE '%UL. WILLIAMA HEERLEINA LINDLEYA 16%' AND UPPER(street) NOT LIKE '%UL. GRZYBOWSKA 87%' AND UPPER(street) NOT LIKE '%WARSZAWSKA 6%' AND UPPER(street) NOT LIKE '%UL. 28 CZERWCA 1956 R. 175/4%' AND UPPER(street) NOT LIKE '%PL. SOLNY 14/3%' AND UPPER(street) NOT LIKE '%ALEJA "SOLIDARNOŚCI" 117/219A%' AND UPPER(street) NOT LIKE '%UL. ŚNIADECKICH 28/4%' AND UPPER(street) NOT LIKE '%UL. MATUSZEWSKA 20/206%' AND UPPER(street) NOT LIKE '%UL. GRZYBOWSKA 2/29%' AND UPPER(street) NOT LIKE '%UL. ZŁOTA 7/18%' AND UPPER(street) NOT LIKE '%UL. JAROSŁAWSKA 21%' AND UPPER(street) NOT LIKE '%ALEJE JEROZOLIMSKIE 56C%' AND UPPER(street) NOT LIKE '%UL. NOWOGRODZKA 31%' AND UPPER(street) NOT LIKE '%UL. TWARDA 18%' AND UPPER(street) NOT LIKE '%ALEJE JEROZOLIMSKIE 81%' AND UPPER(street) NOT LIKE '%UL. MARSZ. JÓZEFA PIŁSUDSKIEGO 74/320%' AND UPPER(street) NOT LIKE '%PLAC POWSTAŃCÓW WARSZAWY 2A%' AND UPPER(street) NOT LIKE '%UL. WADOWICKA 3/231%' AND UPPER(street) NOT LIKE '%UL. MARSZAŁKOWSKA 111%' AND UPPER(street) NOT LIKE '%UL. NIEPODLEGŁOŚCI 102%' AND UPPER(street) NOT LIKE '%UL. JULIANA SMULIKOWSKIEGO 1/3/1%' AND UPPER(street) NOT LIKE '%UL. HOŻA 86/210%' AND UPPER(street) NOT LIKE '%UL. DOMANIEWSKA 47%' AND UPPER(street) NOT LIKE '%UL. SZAFARNIA 11/F8%' AND UPPER(street) NOT LIKE '%UL. WARSZAWSKA 40/2A%' AND UPPER(street) NOT LIKE '%UL. STANISŁAWA LESZCZYŃSKIEGO 4/29%' AND UPPER(street) NOT LIKE '%UL. TUŻYCKA 8/6%' AND UPPER(street) NOT LIKE '%UL. KARMELICKA 64/9%' AND UPPER(street) NOT LIKE '%ALEJA ARMII LUDOWEJ 6/164%' AND UPPER(street) NOT LIKE '%UL. GRZYBOWSKA 80/82%' AND UPPER(city) NOT LIKE '%WÓLKA KOSOWSKA%' AND UPPER(street) NOT LIKE '%UL. JULIANA SMULIKOWSKIEGO 4%' AND UPPER(street) NOT LIKE '%RYNEK GŁÓWNY 28%' AND UPPER(street) NOT LIKE '%UL. GRZYBOWSKA 80/82/700%' AND UPPER(street) NOT LIKE '%UL. ADAMA MICKIEWICZA 37/58%' AND UPPER(street) NOT LIKE '%PLAC BANKOWY 2%' AND UPPER(street) NOT LIKE '%UL. DOMANIEWSKA 37%' AND UPPER(street) NOT LIKE '%JEROZOLIMSKIE 85%' AND UPPER(street) NOT LIKE '%UL. BIAŁA 4/81%' AND UPPER(street) NOT LIKE '%UL. CEGIELNIANA 4A/19%' AND UPPER(krs) NOT LIKE '%671496%' AND UPPER(street) NOT LIKE '%UL. SIENNA 9%' AND UPPER(street) NOT LIKE '%UL. PROSTA 69/1A.01%' AND UPPER(street) NOT LIKE '%UL. WIDOK 18/6%' AND UPPER(street) NOT LIKE '%UL. DOMANIEWSKA 37/243%' AND UPPER(street) NOT LIKE '%UL. JANA HENRYKA DĄBROWSKIEGO 77A%' AND UPPER(street) NOT LIKE '%UL. SIELSKA 17A%' AND UPPER(street) NOT LIKE '%PLAC NA BRAMIE 8%' AND UPPER(street) NOT LIKE '%ALEJE JEROZOLIMSKIE 121/123/50%' AND UPPER(street) NOT LIKE '%UL. LECHICKA 59A%' AND UPPER(street) NOT LIKE '%UL. MOKOTOWSKA 49%' AND UPPER(street) NOT LIKE '%UL. KAZIMIERZA WIELKIEGO 7/5%' AND UPPER(street) NOT LIKE '%ALEJA „SOLIDARNOŚCI” 75/26%' AND UPPER(street) NOT LIKE '%UL. STAWKI 2%' AND UPPER(street) NOT LIKE '%UL. SADOWA 27%' AND UPPER(street) NOT LIKE '%UL.TARGOWA 5%' AND UPPER(street) NOT LIKE '%UL. WARECKA 11A%' AND UPPER(street) NOT LIKE '%UL. WÓLCZAŃSKA 4A%' AND UPPER(street) NOT LIKE '%UL. BOLESŁAWA KRZYWOUSTEGO 6%' AND UPPER(street) NOT LIKE '%UL. MAZOWIECKA 11/49%' AND UPPER(street) NOT LIKE '%UL. PUŁAWSKA 2%' AND UPPER(street) NOT LIKE '%UL. RAKOWICKA 10B/4%' AND UPPER(street) NOT LIKE '%UL. KSAWERÓW 3%' AND UPPER(street) NOT LIKE '%UL. KAZIMIERZA WIELKIEGO 5/37%' AND UPPER(street) NOT LIKE '%UL. HENRYKA SIENKIEWICZA 85/87/8%' AND UPPER(street) NOT LIKE '%UL.TWARDA 18%' AND UPPER(street) NOT LIKE '%UL. WAŁY PIASTOWSKIE 1/1508%' AND UPPER(street) NOT LIKE '%UL. GŁOGOWSKA 31/33%' AND UPPER(street) NOT LIKE '%PL. JANA KILIŃSKIEGO 2%' AND UPPER(street) NOT LIKE '%UL. DOMANIEWSKA 17/19/133%' AND UPPER(street) NOT LIKE '%UL. ŚWIERADOWSKA 47%' AND UPPER(street) NOT LIKE '%UL. GRODZKA 42/1%' AND UPPER(street) NOT LIKE '%UL. ŚWIĘTOKRZYSKA 12/323%' AND UPPER(street) NOT LIKE '%UL. WOKULSKIEGO 1A/4%' AND UPPER(street) NOT LIKE '%UL. EMILII PLATER 53%' AND UPPER(street) NOT LIKE '%UL. KSIĘCIA WITOLDA 49/15%' AND UPPER(street) NOT LIKE '%AL. TADEUSZA REJTANA 20%' AND UPPER(name) NOT LIKE '%BIURO RACHUNKOWE%' AND UPPER(street) NOT LIKE '%UL. SANTOCKA 44/32%' AND UPPER(street) NOT LIKE '%UL. GRUNWALDZKA 4/10%' AND UPPER(city) NOT LIKE '%ŻNIN%' AND UPPER(street) NOT LIKE '%WSPÓLNA 63B%' AND UPPER(street) NOT LIKE '%CHAŁUBIŃSKIEGO 8%' AND UPPER(street) NOT LIKE '%PAŃSKA 96%' AND UPPER(street) NOT LIKE '%SOLIDARNOŚCI 117%' AND added = '" .date("Y-m-d",(time())
Formularz wyszukiwania dla użytkownika wygląda tak:
$query = "SELECT * FROM `firmy_gus` WHERE `krs` = '$search' OR `nip` LIKE '%$search%' OR `regon` LIKE '%$search%' OR `phone` LIKE '%$search%' OR `name` LIKE '%$search%' OR `street` LIKE '%$search%' OR `city` LIKE '%$search%' ORDER BY `added` DESC LIMIT ".$limit*PERPAGE. "," .PERPAGE.""; } else { $query = "SELECT * FROM `firmy_gus` WHERE `name` LIKE '%$search%' OR `street` LIKE '%$search%' OR `city` LIKE '%$search%' ORDER BY `added` DESC LIMIT ".$limit*PERPAGE. "," .PERPAGE.""; }
Jakie indeksy proponujecie pozakładać?