PDA

Pogčedajte punu verziju : Najgori SQL query na svetu


bluesman
20. 03. 2008., 03:18
Jos uvek ne mogu da poverujem u ovo sto sam video veceras. Mislim da covek koji napise ovakav query ne samo da treba da dobije otkaz nego jos i batine:

SELECT DISTINCT users.id, users.membership, (((acos(sin((35.7589*pi()/180)) * sin((users.latitude*pi()/180))+cos((35.7589*pi()/180)) * cos((users.latitude*pi()/180)) * cos(((-78.7798- users.longitude)*pi()/180))))*180/pi())*60*1.1515) as distance
FROM users
INNER JOIN laston ON users.id = laston.user_id INNER JOIN z_9 AS s9 ON users.id = s9.user_id INNER JOIN z_12 AS s12 ON users.id = s12.user_id INNER JOIN z_13 AS s13 ON users.id = s13.user_id INNER JOIN z_14 AS s14 ON users.id = s14.user_id INNER JOIN z_15 AS s15 ON users.id = s15.user_id INNER JOIN z_16 AS s16 ON users.id = s16.user_id INNER JOIN z_17 AS s17 ON users.id = s17.user_id INNER JOIN z_18 AS s18 ON users.id = s18.user_id INNER JOIN z_19 AS s19 ON users.id = s19.user_id INNER JOIN z_21 AS s21 ON users.id = s21.user_id INNER JOIN z_22 AS s22 ON users.id = s22.user_id INNER JOIN z_23 AS s23 ON users.id = s23.user_id INNER JOIN z_24 AS s24 ON users.id = s24.user_id INNER JOIN z_25 AS s25 ON users.id = s25.user_id INNER JOIN z_27 AS s27 ON users.id = s27.user_id INNER JOIN z_29 AS s29 ON users.id = s29.user_id INNER JOIN z_31 AS s31 ON users.id = s31.user_id INNER JOIN z_32 AS s32 ON users.id = s32.user_id INNER JOIN z_33 AS s33 ON users.id = s33.user_id INNER JOIN z_35 AS s35 ON users.id = s35.user_id INNER JOIN z_38 AS s38 ON users.id = s38.user_id INNER JOIN z_39 AS s39 ON users.id = s39.user_id INNER JOIN z_40 AS s40 ON users.id = s40.user_id INNER JOIN z_41 AS s41 ON users.id = s41.user_id INNER JOIN z_42 AS s42 ON users.id = s42.user_id INNER JOIN z_50 AS s50 ON users.id = s50.user_id INNER JOIN z_51 AS s51 ON users.id = s51.user_id INNER JOIN z_53 AS s53 ON users.id = s53.user_id INNER JOIN z_55 AS s55 ON users.id = s55.user_id INNER JOIN z_58 AS s58 ON users.id = s58.user_id INNER JOIN z_60 AS s60 ON users.id = s60.user_id
WHERE 1 AND users.gender = '4112' AND users.seeking = '4092' AND (s9.option_id = '137' OR s9.option_id = '138' OR s9.option_id = '139' OR s9.option_id = '140' OR s9.option_id = '141' OR s9.option_id = '142' OR s9.option_id = '433' OR s9.option_id = '434' OR s9.option_id = '481' OR s9.option_id = '482') AND (s12.option_id = '214' OR s12.option_id = '215' OR s12.option_id = '216' OR s12.option_id = '217' OR s12.option_id = '218' OR s12.option_id = '220') AND (s13.option_id = '221' OR s13.option_id = '222' OR s13.option_id = '223' OR s13.option_id = '224' OR s13.option_id = '225' OR s13.option_id = '226' OR s13.option_id = '227' OR s13.option_id = '429' OR s13.option_id = '435' OR s13.option_id = '495') AND (s14.option_id = '228' OR s14.option_id = '229' OR s14.option_id = '230' OR s14.option_id = '231' OR s14.option_id = '488' OR s14.option_id = '489' OR s14.option_id = '646') AND (s15.option_id = '232' OR s15.option_id = '233' OR s15.option_id = '234' OR s15.option_id = '645') AND (s16.option_id = '238' OR s16.option_id = '239' OR s16.option_id = '240') AND (s17.option_id = '242' OR s17.option_id = '243' OR s17.option_id = '244' OR s17.option_id = '245' OR s17.option_id = '246' OR s17.option_id = '436') AND (s18.option_id = '248' OR s18.option_id = '249' OR s18.option_id = '250' OR s18.option_id = '251' OR s18.option_id = '252' OR s18.option_id = '253' OR s18.option_id = '254' OR s18.option_id = '437') AND (s19.option_id = '256' OR s19.option_id = '257' OR s19.option_id = '258' OR s19.option_id = '259' OR s19.option_id = '260' OR s19.option_id = '261' OR s19.option_id = '262' OR s19.option_id = '263' OR s19.option_id = '264' OR s19.option_id = '265') AND (s21.option_id = '276' OR s21.option_id = '277' OR s21.option_id = '278' OR s21.option_id = '279' OR s21.option_id = '280' OR s21.option_id = '281' OR s21.option_id = '282' OR s21.option_id = '283') AND (s22.option_id = '285' OR s22.option_id = '286' OR s22.option_id = '287' OR s22.option_id = '288' OR s22.option_id = '492' OR s22.option_id = '493' OR s22.option_id = '494') AND (s23.option_id = '290' OR s23.option_id = '291' OR s23.option_id = '292' OR s23.option_id = '491' OR s23.option_id = '663') AND (s24.option_id = '294' OR s24.option_id = '295' OR s24.option_id = '296' OR s24.option_id = '297' OR s24.option_id = '298') AND (s25.option_id = '299' OR s25.option_id = '300' OR s25.option_id = '301' OR s25.option_id = '302' OR s25.option_id = '454' OR s25.option_id = '455') AND (s27.option_id = '312' OR s27.option_id = '313' OR s27.option_id = '314' OR s27.option_id = '315' OR s27.option_id = '316' OR s27.option_id = '317' OR s27.option_id = '318' OR s27.option_id = '319' OR s27.option_id = '320' OR s27.option_id = '344') AND (s29.option_id = '321' OR s29.option_id = '322' OR s29.option_id = '323' OR s29.option_id = '324' OR s29.option_id = '325' OR s29.option_id = '326' OR s29.option_id = '327' OR s29.option_id = '328' OR s29.option_id = '329' OR s29.option_id = '330') AND (s31.option_id = '333' OR s31.option_id = '334' OR s31.option_id = '335' OR s31.option_id = '336' OR s31.option_id = '337' OR s31.option_id = '338' OR s31.option_id = '339' OR s31.option_id = '341' OR s31.option_id = '342') AND (s32.option_id = '348' OR s32.option_id = '350' OR s32.option_id = '351' OR s32.option_id = '352' OR s32.option_id = '353' OR s32.option_id = '354' OR s32.option_id = '355' OR s32.option_id = '356' OR s32.option_id = '357' OR s32.option_id = '358') AND (s33.option_id = '362' OR s33.option_id = '363' OR s33.option_id = '364' OR s33.option_id = '365' OR s33.option_id = '366' OR s33.option_id = '367' OR s33.option_id = '368' OR s33.option_id = '369' OR s33.option_id = '370' OR s33.option_id = '371') AND (s35.option_id = '372' OR s35.option_id = '373' OR s35.option_id = '374' OR s35.option_id = '375' OR s35.option_id = '449' OR s35.option_id = '450' OR s35.option_id = '567' OR s35.option_id = '568' OR s35.option_id = '569' OR s35.option_id = '571') AND (s38.option_id = '376' OR s38.option_id = '377' OR s38.option_id = '378' OR s38.option_id = '379' OR s38.option_id = '380' OR s38.option_id = '381' OR s38.option_id = '382' OR s38.option_id = '383' OR s38.option_id = '384' OR s38.option_id = '385') AND (s39.option_id = '386' OR s39.option_id = '387' OR s39.option_id = '388' OR s39.option_id = '389' OR s39.option_id = '390' OR s39.option_id = '391' OR s39.option_id = '392' OR s39.option_id = '393' OR s39.option_id = '394' OR s39.option_id = '395') AND (s40.option_id = '402' OR s40.option_id = '403' OR s40.option_id = '404' OR s40.option_id = '405' OR s40.option_id = '406' OR s40.option_id = '407' OR s40.option_id = '408' OR s40.option_id = '409' OR s40.option_id = '410' OR s40.option_id = '411') AND (s41.option_id = '413' OR s41.option_id = '414' OR s41.option_id = '415' OR s41.option_id = '416' OR s41.option_id = '417' OR s41.option_id = '418' OR s41.option_id = '419') AND (s42.option_id = '421' OR s42.option_id = '422' OR s42.option_id = '423' OR s42.option_id = '424' OR s42.option_id = '425' OR s42.option_id = '426' OR s42.option_id = '427' OR s42.option_id = '453' OR s42.option_id = '641' OR s42.option_id = '643') AND (s50.option_id = '496' OR s50.option_id = '497' OR s50.option_id = '498' OR s50.option_id = '499' OR s50.option_id = '500' OR s50.option_id = '501' OR s50.option_id = '502' OR s50.option_id = '503' OR s50.option_id = '504' OR s50.option_id = '505') AND (s51.option_id = '509' OR s51.option_id = '510' OR s51.option_id = '511' OR s51.option_id = '512' OR s51.option_id = '513' OR s51.option_id = '514' OR s51.option_id = '515' OR s51.option_id = '516' OR s51.option_id = '517' OR s51.option_id = '518') AND (s53.option_id = '538' OR s53.option_id = '539' OR s53.option_id = '540' OR s53.option_id = '541' OR s53.option_id = '542' OR s53.option_id = '543' OR s53.option_id = '544' OR s53.option_id = '545' OR s53.option_id = '546' OR s53.option_id = '547') AND (s55.option_id = '4152' OR s55.option_id = '4162' OR s55.option_id = '4172' OR s55.option_id = '4182' OR s55.option_id = '4192' OR s55.option_id = '4202' OR s55.option_id = '4212' OR s55.option_id = '4222' OR s55.option_id = '4232' OR s55.option_id = '4242') AND (s58.option_id = '605' OR s58.option_id = '606' OR s58.option_id = '607' OR s58.option_id = '608' OR s58.option_id = '609' OR s58.option_id = '610' OR s58.option_id = '611' OR s58.option_id = '612' OR s58.option_id = '613' OR s58.option_id = '614') AND (s60.option_id = '682' OR s60.option_id = '683') AND users.approved = '1' AND users.deleted = '0' and users.main_photo_id !=0 AND (users.latitude > 35.3239421622 AND users.latitude < 36.1938578378) AND (users.longitude > -79.3142578966 AND users.longitude < -78.2453421034) AND users.dob > '1957-03-19' AND users.dob < '1988-03-19' AND users.id != '1' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '1') AND users.id NOT IN (SELECT user_id FROM personal_definitions_attention) ORDER BY distance ASC LIMIT 500


Ovo sam dobio od coveka koji odrzava jedan server i koji kao i ja ne moze da se nacudi koji ludak moze ovo da napise. Hajde neko ako sme neka pusti ovaj query :)

bluesman
20. 03. 2008., 03:24
Da dodam da je ovo query koji se izvrsava na jako posecenom sajtu koji ima preko 6000 kverija u sekundi, i da dodam da su srbi autori ovog remek dela.

Evo sada kada gledam verovatno je to neki advanced search form pa trazi distance preko ZIP i longitude... + ima sliku, + nije obrisan + jos milion nekih stvari koje ni ne razumem... Ja bre kada imam vise od 3 JOIN-a po queriju - radim redesign baze, a ovo u zivotu nisam video... iskreno nisam ni znao da moze ovo :)

Sajt koristi 10 SQL servera i vlasnici ne mogu da se nacude kako hardware ne moze da pokrije zahtevnost :)

conica
20. 03. 2008., 03:36
evo ja cu da budem veoma iskrena, pa makar me nazvali neznalicom (:)): ja ovo ne bih UMELA da napisem
znaci totalno bih se zagubila kod treceg JOIN-a

edit: apropo, treba odati priznanje autoru..ovo je trebalo znati napisati

bluesman
20. 03. 2008., 03:45
To sam i ja rekao :)

Nego evo jos komentara administratora servera:


inace, onaj kveri sam pustio na masteru pre vise od pola sata
i jos nije zavrsio
a master je ZVER
pazi, master ima 12 diskova u raid 10
16G rama
4 CPU-a
mislim, sta reci ;)
zver ;)
a ovo jos uvek traje ;)))
2600 sec i traje jos uvek
ne mogu vise da cekam, prekinucu ga :))))

Milos Vukotic
20. 03. 2008., 03:52
'bem ti ovakvo radno vrijeme...
Pored svega ostalog, ovo je wtf samo za sebe:
users.gender = '4112'

Je li "gender" u smislu "pol"? Koliko ih moze biti? :)

conica
20. 03. 2008., 03:59
↑ LOL

a svaki put obecam sebi da cu leci pre 6

ppavlovic
20. 03. 2008., 04:26
Meni se dopada ono:

WHERE 1 AND users.gender = '4112'

P.S. Koji je kod generator koristio za ovako nesto ???

Mislim, kad sam pokusao da pravim jedan dating sajt, dosao samo do 5-6 joina ... i to se jaako sporo izvrsavalo. Pa sam onda zaboravio na normalizacije koje te uce u skoli. I sve je bilo kako treba. :)

twix
20. 03. 2008., 08:27
Cemu ovo sluzi a uz to i ne radi :1064: salim se, da li moze da se vidi sajt koji u pozadini mrsi ovaj sql ?

Aleksandar.Ilic
20. 03. 2008., 10:02
i jos ako nesto ovde nije indexirano :O

bofh
20. 03. 2008., 10:14
upit je u svakom slučaju skandalozan i lolkastičan.

ono što je meni skoro jednako skandalozno što se nigde ne primećuje opasno brkanje lončića.

sysadmin != dba != web developer

i da, btw, glupost je univerzalna stvar, tako da to nema veze sa srbima... ko se usprotivi tome proglasiću ga za izdajnilka lol

cvele
20. 03. 2008., 10:16
graficki alati za izradu querija su cudo :)

jablan
20. 03. 2008., 10:22
Ma nije samo query u pitanju, obratite pažnju na tabele koje se zovu z_9..z_55.

Database obfuscator?

skaarj
20. 03. 2008., 10:28
Ovo je ocigledno generisano kodom i to zato sto su tabele denormalizovane zbog brzine upisa... Imam i ja u nekim projektima (koje takodje spasavam :)) iste ovakve bisere, doduse ne bas ovako komplikovane ali to se desava kada imas tabele ovakvog tipa koje sadrze milione slogova:

`id` int(11) NOT NULL AUTO_INCREMENT,
`wm_id` int(11) NOT NULL DEFAULT '0',
`domain_id` int(11) NOT NULL DEFAULT '0',
`month_date` date NOT NULL DEFAULT '0000-00-00',
`typ_01` int(11) NOT NULL DEFAULT '0',
`hit_01` int(11) NOT NULL DEFAULT '0',
`usa_01` int(11) NOT NULL DEFAULT '0',
`typ_02` int(11) NOT NULL DEFAULT '0',
`hit_02` int(11) NOT NULL DEFAULT '0',
`usa_02` int(11) NOT NULL DEFAULT '0',
`typ_03` int(11) NOT NULL DEFAULT '0',
`hit_03` int(11) NOT NULL DEFAULT '0',
`usa_03` int(11) NOT NULL DEFAULT '0',
`typ_04` int(11) NOT NULL DEFAULT '0',
`hit_04` int(11) NOT NULL DEFAULT '0',
`usa_04` int(11) NOT NULL DEFAULT '0',
`typ_05` int(11) NOT NULL DEFAULT '0',
`hit_05` int(11) NOT NULL DEFAULT '0',
`usa_05` int(11) NOT NULL DEFAULT '0',
`typ_06` int(11) NOT NULL DEFAULT '0',
`hit_06` int(11) NOT NULL DEFAULT '0',
`usa_06` int(11) NOT NULL DEFAULT '0',
`typ_07` int(11) NOT NULL DEFAULT '0',
`hit_07` int(11) NOT NULL DEFAULT '0',
`usa_07` int(11) NOT NULL DEFAULT '0',
`typ_08` int(11) NOT NULL DEFAULT '0',
`hit_08` int(11) NOT NULL DEFAULT '0',
`usa_08` int(11) NOT NULL DEFAULT '0',
`typ_09` int(11) NOT NULL DEFAULT '0',
`hit_09` int(11) NOT NULL DEFAULT '0',
`usa_09` int(11) NOT NULL DEFAULT '0',
`typ_10` int(11) NOT NULL DEFAULT '0',
`hit_10` int(11) NOT NULL DEFAULT '0',
`usa_10` int(11) NOT NULL DEFAULT '0',
`typ_11` int(11) NOT NULL DEFAULT '0',
`hit_11` int(11) NOT NULL DEFAULT '0',
`usa_11` int(11) NOT NULL DEFAULT '0',
`typ_12` int(11) NOT NULL DEFAULT '0',
`hit_12` int(11) NOT NULL DEFAULT '0',
`usa_12` int(11) NOT NULL DEFAULT '0',
`typ_13` int(11) NOT NULL DEFAULT '0',
`hit_13` int(11) NOT NULL DEFAULT '0',
`usa_13` int(11) NOT NULL DEFAULT '0',
`typ_14` int(11) NOT NULL DEFAULT '0',
`hit_14` int(11) NOT NULL DEFAULT '0',
`usa_14` int(11) NOT NULL DEFAULT '0',
`typ_15` int(11) NOT NULL DEFAULT '0',
`hit_15` int(11) NOT NULL DEFAULT '0',
`usa_15` int(11) NOT NULL DEFAULT '0',
`typ_16` int(11) NOT NULL DEFAULT '0',
`hit_16` int(11) NOT NULL DEFAULT '0',
`usa_16` int(11) NOT NULL DEFAULT '0',
`typ_17` int(11) NOT NULL DEFAULT '0',
`hit_17` int(11) NOT NULL DEFAULT '0',
`usa_17` int(11) NOT NULL DEFAULT '0',
`typ_18` int(11) NOT NULL DEFAULT '0',
`hit_18` int(11) NOT NULL DEFAULT '0',
`usa_18` int(11) NOT NULL DEFAULT '0',
`typ_19` int(11) NOT NULL DEFAULT '0',
`hit_19` int(11) NOT NULL DEFAULT '0',
`usa_19` int(11) NOT NULL DEFAULT '0',
`typ_20` int(11) NOT NULL DEFAULT '0',
`hit_20` int(11) NOT NULL DEFAULT '0',
`usa_20` int(11) NOT NULL DEFAULT '0',
`typ_21` int(11) NOT NULL DEFAULT '0',
`hit_21` int(11) NOT NULL DEFAULT '0',
`usa_21` int(11) NOT NULL DEFAULT '0',
`typ_22` int(11) NOT NULL DEFAULT '0',
`hit_22` int(11) NOT NULL DEFAULT '0',
`usa_22` int(11) NOT NULL DEFAULT '0',
`typ_23` int(11) NOT NULL DEFAULT '0',
`hit_23` int(11) NOT NULL DEFAULT '0',
`usa_23` int(11) NOT NULL DEFAULT '0',
`typ_24` int(11) NOT NULL DEFAULT '0',
`hit_24` int(11) NOT NULL DEFAULT '0',
`usa_24` int(11) NOT NULL DEFAULT '0',
`typ_25` int(11) NOT NULL DEFAULT '0',
`hit_25` int(11) NOT NULL DEFAULT '0',
`usa_25` int(11) NOT NULL DEFAULT '0',
`typ_26` int(11) NOT NULL DEFAULT '0',
`hit_26` int(11) NOT NULL DEFAULT '0',
`usa_26` int(11) NOT NULL DEFAULT '0',
`typ_27` int(11) NOT NULL DEFAULT '0',
`hit_27` int(11) NOT NULL DEFAULT '0',
`usa_27` int(11) NOT NULL DEFAULT '0',
`typ_28` int(11) NOT NULL DEFAULT '0',
`hit_28` int(11) NOT NULL DEFAULT '0',
`usa_28` int(11) NOT NULL DEFAULT '0',
`typ_29` int(11) NOT NULL DEFAULT '0',
`hit_29` int(11) NOT NULL DEFAULT '0',
`usa_29` int(11) NOT NULL DEFAULT '0',
`typ_30` int(11) NOT NULL DEFAULT '0',
`hit_30` int(11) NOT NULL DEFAULT '0',
`usa_30` int(11) NOT NULL DEFAULT '0',
`typ_31` int(11) NOT NULL DEFAULT '0',
`hit_31` int(11) NOT NULL DEFAULT '0',
`usa_31` int(11) NOT NULL DEFAULT '0',
`typ_total` bigint(20) NOT NULL DEFAULT '0',
`hit_total` bigint(20) NOT NULL DEFAULT '0',
`usa_total` bigint(20) NOT NULL DEFAULT '0',

robi-bobi
20. 03. 2008., 10:58
jel znate kako se uzima poslednji zapis iz baze?

SELECT * FROM ....
$r = mysql_query...

i onda!


while($row = mysql_fetch_array(..)) {
$arr[] = $row;
}

$n = mysq_num_rows
return $arr[$n]


ovo je zateknut kod nekih indijaca na jaaako posecenom sajtu
bio ovo pre jednooo pa, pre 2 godine
jos uvek ga pamtim :D

cvele
20. 03. 2008., 11:09
jbt, ali jbt

Dejan Topalovic
20. 03. 2008., 11:25
Nije to nista - mi smo do skoro koristili jednu aplikaciju, koja je na osnovu proslijedjenih parametara dinamicki generisala SQL upite. Odstampao sam najduzi SQL upit i nalijepio na zid. Sta mislte koliko A4 stranica je bilo potrebno da se odstampa citav upit?

24 stranice!

To je bila jedna 3rd party aplikacija, a baza je bila Oracle 9i sa 16 GB RAM-a i 8 CPUs, koju smo zamijenili novom in-house aplikacijom na Oracle 10g i sad su upiti kraci za oko 80% i munjevito se izvrsavaju...

Kad mi neko spomene neke Buildere, Generatore i sl., odmah pocnem da kolutam ocima...

Ilija Studen
20. 03. 2008., 13:41
Ne verujem da ćemo sa našim rešenjem zagrditi baš ovoliko, ali me nervira kako stvari trenutno izgledaju (o ovome sam pričao na meetupu prošli vikend):

SELECT acx_activity_logs.*
FROM acx_activity_logs, acx_project_objects
WHERE acx_activity_logs.object_id = acx_project_objects.id AND ((acx_project_objects.project_id = '23' AND (acx_project_objects.type IN ('discussion', 'page', 'ticket', 'timerecord') OR acx_project_objects.parent_type IN ('discussion', 'page', 'ticket', 'timerecord'))) OR (acx_project_objects.project_id = 31)) AND acx_activity_logs.created_by_id != '3' AND acx_project_objects.state >= '1' AND acx_project_objects.visibility >= '1'
ORDER BY acx_activity_logs.created_on DESC
LIMIT 0, 15

Problem je ovaj deo:

((acx_project_objects.project_id = '23' AND (acx_project_objects.type IN ('discussion', 'page', 'ticket', 'timerecord') OR acx_project_objects.parent_type IN ('discussion', 'page', 'ticket', 'timerecord'))) OR (acx_project_objects.project_id = 31))

Pošto svaki korisnik na svakom projektu može imati različite dozvole (na nekima sme da vidi tickete, na nekima ne pa tako za svaki) tipovi koje sistem traži nisu poznati unapred, već se na osnovu dozvola i projekta određuju. Ovaj deo uslova se množi brojem aktivnih projekata kojima korisnik ima pristup (gore je primer samo za jedan).

Kao što rekoh, nismo zagrdili kao ovi gore, ali mi se rešenje ne sviđa previše.

mangia
23. 03. 2008., 18:48
Ima i onih koji nisu culi za auto increm. polje pa svaki put vrse prebrojavanje pa dodaju 1 na taj iznos i tek tada rade INSERT :)

E par takvih je diplomiralo a ja jos nisam...

bluesman
03. 06. 2009., 17:32
Evo novog kandidata, ovo je stvarno za analizu, ne querija nego onoga ko ga je napisao (naki latvijac, šta li je, 'bem ga... uvalili su mi ga u team):

SELECT * FROM complaints WHERE status=1 and ( LEFT(phone, 4) LIKE '01234%' OR LEFT(phone, 4) LIKE '01361%' OR LEFT(phone, 4) LIKE '01525%' OR LEFT(phone, 4) LIKE '01582%' OR LEFT(phone, 4) LIKE '01767%' OR LEFT(phone, 4) LIKE '01462%' OR LEFT(phone, 4) LIKE '01344%' OR LEFT(phone, 4) LIKE '01488%' OR LEFT(phone, 4) LIKE '01628%' OR LEFT(phone, 4) LIKE '01635%' OR LEFT(phone, 4) LIKE '0118%' OR LEFT(phone, 4) LIKE '01753%' OR LEFT(phone, 4) LIKE '0117%' OR LEFT(phone, 4) LIKE '01296%' OR LEFT(phone, 4) LIKE '01280%' OR LEFT(phone, 4) LIKE '01494%' OR LEFT(phone, 4) LIKE '01908%' OR LEFT(phone, 4) LIKE '01633%' OR LEFT(phone, 4) LIKE '01844%' OR LEFT(phone, 4) LIKE '01353%' OR LEFT(phone, 4) LIKE '01480%' OR LEFT(phone, 4) LIKE '01354%' OR LEFT(phone, 4) LIKE '01945%' OR LEFT(phone, 4) LIKE '01223%' OR LEFT(phone, 4) LIKE '01733%' OR LEFT(phone, 4) LIKE '01244%' OR LEFT(phone, 4) LIKE '01260%' OR LEFT(phone, 4) LIKE '01270%' OR LEFT(phone, 4) LIKE '01565%' OR LEFT(phone, 4) LIKE '01625%' OR LEFT(phone, 4) LIKE '01606%' OR LEFT(phone, 4) LIKE '01928%' OR LEFT(phone, 4) LIKE '01925%' OR LEFT(phone, 4) LIKE '0151%' OR LEFT(phone, 4) LIKE '01208%' OR LEFT(phone, 4) LIKE '01288%' OR LEFT(phone, 4) LIKE '01840%' OR LEFT(phone, 4) LIKE '01326%' OR LEFT(phone, 4) LIKE '01566%' OR LEFT(phone, 4) LIKE '01579%' OR LEFT(phone, 4) LIKE '01503%' OR LEFT(phone, 4) LIKE '01637%' OR LEFT(phone, 4) LIKE '01841%' OR LEFT(phone, 4) LIKE '01736%' OR LEFT(phone, 4) LIKE '01209%' OR LEFT(phone, 4) LIKE '01726%' OR LEFT(phone, 4) LIKE '01872%' OR LEFT(phone, 4) LIKE '01720%' OR LEFT(phone, 4) LIKE '01752%' OR LEFT(phone, 4) LIKE '01388%' OR LEFT(phone, 4) LIKE '01207%' OR LEFT(phone, 4) LIKE '01325%' OR LEFT(phone, 4) LIKE '0191%' OR LEFT(phone, 4) LIKE '01429%' OR LEFT(phone, 4) LIKE '01833%' OR LEFT(phone, 4) LIKE '01642%' OR LEFT(phone, 4) LIKE '01740%' OR LEFT(phone, 4) LIKE '017683%' OR LEFT(phone, 4) LIKE '01229%' OR LEFT(phone, 4) LIKE '01228%' OR LEFT(phone, 4) LIKE '015395%' OR LEFT(phone, 4) LIKE '01539%' OR LEFT(phone, 4) LIKE '017687%' OR LEFT(phone, 4) LIKE '01768%' OR LEFT(phone, 4) LIKE '015396%' OR LEFT(phone, 4) LIKE '01946%' OR LEFT(phone, 4) LIKE '016973%' OR LEFT(phone, 4) LIKE '01900%' OR LEFT(phone, 4) LIKE '01697%' OR LEFT(phone, 4) LIKE '01899%' OR LEFT(phone, 4) LIKE '016974%' OR LEFT(phone, 4) LIKE '016977%' OR LEFT(phone, 4) LIKE '017684%' OR LEFT(phone, 4) LIKE '019467%' OR LEFT(phone, 4) LIKE '01434%' OR LEFT(phone, 4) LIKE '015394%' OR LEFT(phone, 4) LIKE '015242%' OR LEFT(phone, 4) LIKE '01335%' OR LEFT(phone, 4) LIKE '01298%' OR LEFT(phone, 4) LIKE '01246%' OR LEFT(phone, 4) LIKE '01457%' OR LEFT(phone, 4) LIKE '01629%' OR LEFT(phone, 4) LIKE '01663%' OR LEFT(phone, 4) LIKE '01773%' OR LEFT(phone, 4) LIKE '01332%' OR LEFT(phone, 4) LIKE '0115%' OR LEFT(phone, 4) LIKE '0114%' OR LEFT(phone, 4) LIKE '01623%' OR LEFT(phone, 4) LIKE '01283%' OR LEFT(phone, 4) LIKE '01364%' OR LEFT(phone, 4) LIKE '01297%' OR LEFT(phone, 4) LIKE '01271%' OR LEFT(phone, 4) LIKE '01237%' OR LEFT(phone, 4) LIKE '01395%' OR LEFT(phone, 4) LIKE '01363%' OR LEFT(phone, 4) LIKE '01392%' OR LEFT(phone, 4) LIKE '01404%' OR LEFT(phone, 4) LIKE '01548%' OR LEFT(phone, 4) LIKE '01647%' OR LEFT(phone, 4) LIKE '01626%' OR LEFT(phone, 4) LIKE '01837%' OR LEFT(phone, 4) LIKE '01822%' OR LEFT(phone, 4) LIKE '01884%' OR LEFT(phone, 4) LIKE '01803%' OR LEFT(phone, 4) LIKE '01580%' OR LEFT(phone, 4) LIKE '01258%' OR LEFT(phone, 4) LIKE '01202%' OR LEFT(phone, 4) LIKE '01308%' OR LEFT(phone, 4) LIKE '01305%' OR LEFT(phone, 4) LIKE '01747%' OR LEFT(phone, 4) LIKE '01929%' OR LEFT(phone, 4) LIKE '01300%' OR LEFT(phone, 4) LIKE '01963%' OR LEFT(phone, 4) LIKE '01262%' OR LEFT(phone, 4) LIKE '01377%' OR LEFT(phone, 4) LIKE '01405%' OR LEFT(phone, 4) LIKE '01430%' OR LEFT(phone, 4) LIKE '01759%' OR LEFT(phone, 4) LIKE '01482%' OR LEFT(phone, 4) LIKE '01964%' OR LEFT(phone, 4) LIKE '01323%' OR LEFT(phone, 4) LIKE '01797%' OR LEFT(phone, 4) LIKE '01825%' OR LEFT(phone, 4) LIKE '01273%' OR LEFT(phone, 4) LIKE '01424%' OR LEFT(phone, 4) LIKE '01892%' OR LEFT(phone, 4) LIKE '01268%' OR LEFT(phone, 4) LIKE '01376%' OR LEFT(phone, 4) LIKE '01277%' OR LEFT(phone, 4) LIKE '01245%' OR LEFT(phone, 4) LIKE '01255%' OR LEFT(phone, 4) LIKE '01206%' OR LEFT(phone, 4) LIKE '01371%' OR LEFT(phone, 4) LIKE '01621%' OR LEFT(phone, 4) LIKE '01799%' OR LEFT(phone, 4) LIKE '01955%' OR LEFT(phone, 4) LIKE '01992%' OR LEFT(phone, 4) LIKE '020%' OR LEFT(phone, 4) LIKE '01375%' OR LEFT(phone, 4) LIKE '01787%' OR LEFT(phone, 4) LIKE '01702%' OR LEFT(phone, 4) LIKE '01454%' OR LEFT(phone, 4) LIKE '01285%' OR LEFT(phone, 4) LIKE '01453%' OR LEFT(phone, 4) LIKE '01452%' OR LEFT(phone, 4) LIKE '01594%' OR LEFT(phone, 4) LIKE '01451%' OR LEFT(phone, 4) LIKE '01242%' OR LEFT(phone, 4) LIKE '01608%' OR LEFT(phone, 4) LIKE '01531%' OR LEFT(phone, 4) LIKE '01666%' OR LEFT(phone, 4) LIKE '01684%' OR LEFT(phone, 4) LIKE '01204%' OR LEFT(phone, 4) LIKE '01706%' OR LEFT(phone, 4) LIKE '01942%' OR LEFT(phone, 4) LIKE '0161%' OR LEFT(phone, 4) LIKE '01252%' OR LEFT(phone, 4) LIKE '01420%' OR LEFT(phone, 4) LIKE '01264%' OR LEFT(phone, 4) LIKE '01256%' OR LEFT(phone, 4) LIKE '01730%' OR LEFT(phone, 4) LIKE '01425%' OR LEFT(phone, 4) LIKE '01962%' OR LEFT(phone, 4) LIKE '023%' OR LEFT(phone, 4) LIKE '01489%' OR LEFT(phone, 4) LIKE '01243%' OR LEFT(phone, 4) LIKE '01886%' OR LEFT(phone, 4) LIKE '01432%' OR LEFT(phone, 4) LIKE '01544%' OR LEFT(phone, 4) LIKE '01568%' OR LEFT(phone, 4) LIKE '01279%' OR LEFT(phone, 4) LIKE '01257%' OR LEFT(phone, 4) LIKE '01442%' OR LEFT(phone, 4) LIKE '01707%' OR LEFT(phone, 4) LIKE '01763%' OR LEFT(phone, 4) LIKE '01727%' OR LEFT(phone, 4) LIKE '01920%' OR LEFT(phone, 4) LIKE '01923%' OR LEFT(phone, 4) LIKE '01983%' OR LEFT(phone, 4) LIKE '01227%' OR LEFT(phone, 4) LIKE '01322%' OR LEFT(phone, 4) LIKE '01304%' OR LEFT(phone, 4) LIKE '01303%' OR LEFT(phone, 4) LIKE '01474%' OR LEFT(phone, 4) LIKE '01622%' OR LEFT(phone, 4) LIKE '01732%' OR LEFT(phone, 4) LIKE '01795%' OR LEFT(phone, 4) LIKE '01959%' OR LEFT(phone, 4) LIKE '01987%' OR LEFT(phone, 4) LIKE '01843%' OR LEFT(phone, 4) LIKE '01634%' OR LEFT(phone, 4) LIKE '01254%' OR LEFT(phone, 4) LIKE '01253%' OR LEFT(phone, 4) LIKE '01282%' OR LEFT(phone, 4) LIKE '01200%' OR LEFT(phone, 4) LIKE '01995%' OR LEFT(phone, 4) LIKE '01524%' OR LEFT(phone, 4) LIKE '01695%' OR LEFT(phone, 4) LIKE '01772%' OR LEFT(phone, 4) LIKE '01455%' OR LEFT(phone, 4) LIKE '0116%' OR LEFT(phone, 4) LIKE '01509%' OR LEFT(phone, 4) LIKE '01858%' OR LEFT(phone, 4) LIKE '01664%' OR LEFT(phone, 4) LIKE '01530%' OR LEFT(phone, 4) LIKE '01975%' OR LEFT(phone, 4) LIKE '01205%' OR LEFT(phone, 4) LIKE '01652%' OR LEFT(phone, 4) LIKE '01427%' OR LEFT(phone, 4) LIKE '01476%' OR LEFT(phone, 4) LIKE '01472%' OR LEFT(phone, 4) LIKE '01406%' OR LEFT(phone, 4) LIKE '01522%' OR LEFT(phone, 4) LIKE '01507%' OR LEFT(phone, 4) LIKE '01673%' OR LEFT(phone, 4) LIKE '01724%' OR LEFT(phone, 4) LIKE '01754%' OR LEFT(phone, 4) LIKE '01529%' OR LEFT(phone, 4) LIKE '01775%' OR LEFT(phone, 4) LIKE '01790%' OR LEFT(phone, 4) LIKE '01780%' OR LEFT(phone, 4) LIKE '01778%' OR LEFT(phone, 4) LIKE '01469%' OR LEFT(phone, 4) LIKE '01704%' OR LEFT(phone, 4) LIKE '01744%' OR LEFT(phone, 4) LIKE '01263%' OR LEFT(phone, 4) LIKE '01362%' OR LEFT(phone, 4) LIKE '01379%' OR LEFT(phone, 4) LIKE '01366%' OR LEFT(phone, 4) LIKE '01328%' OR LEFT(phone, 4) LIKE '01493%' OR LEFT(phone, 4) LIKE '01485%' OR LEFT(phone, 4) LIKE '01553%' OR LEFT(phone, 4) LIKE '01692%' OR LEFT(phone, 4) LIKE '01760%' OR LEFT(phone, 4) LIKE '01842%' OR LEFT(phone, 4) LIKE '01953%' OR LEFT(phone, 4) LIKE '01508%' OR LEFT(phone, 4) LIKE '01603%' OR LEFT(phone, 4) LIKE '01677%' OR LEFT(phone, 4) LIKE '01423%' OR LEFT(phone, 4) LIKE '01347%' OR LEFT(phone, 4) LIKE '01287%' OR LEFT(phone, 4) LIKE '01439%' OR LEFT(phone, 4) LIKE '01969%' OR LEFT(phone, 4) LIKE '01653%' OR LEFT(phone, 4) LIKE '01609%' OR LEFT(phone, 4) LIKE '01751%' OR LEFT(phone, 4) LIKE '01748%' OR LEFT(phone, 4) LIKE '01765%' OR LEFT(phone, 4) LIKE '01723%' OR LEFT(phone, 4) LIKE '01757%' OR LEFT(phone, 4) LIKE '01729%' OR LEFT(phone, 4) LIKE '01756%' OR LEFT(phone, 4) LIKE '01845%' OR LEFT(phone, 4) LIKE '01947%' OR LEFT(phone, 4) LIKE '01904%' OR LEFT(phone, 4) LIKE '01937%' OR LEFT(phone, 4) LIKE '01327%' OR LEFT(phone, 4) LIKE '01536%' OR LEFT(phone, 4) LIKE '01604%' OR LEFT(phone, 4) LIKE '01933%' OR LEFT(phone, 4) LIKE '01832%' OR LEFT(phone, 4) LIKE '01665%' OR LEFT(phone, 4) LIKE '01670%' OR LEFT(phone, 4) LIKE '01661%' OR LEFT(phone, 4) LIKE '01669%' OR LEFT(phone, 4) LIKE '01289%' OR LEFT(phone, 4) LIKE '01668%' OR LEFT(phone, 4) LIKE '01636%' OR LEFT(phone, 4) LIKE '01777%' OR LEFT(phone, 4) LIKE '01909%' OR LEFT(phone, 4) LIKE '01949%' OR LEFT(phone, 4) LIKE '01295%' OR LEFT(phone, 4) LIKE '01869%' OR LEFT(phone, 4) LIKE '01367%' OR LEFT(phone, 4) LIKE '01491%' OR LEFT(phone, 4) LIKE '01993%' OR LEFT(phone, 4) LIKE '01235%' OR LEFT(phone, 4) LIKE '01572%' OR LEFT(phone, 4) LIKE '01746%' OR LEFT(phone, 4) LIKE '01694%' OR LEFT(phone, 4) LIKE '01584%' OR LEFT(phone, 4) LIKE '01630%' OR LEFT(phone, 4) LIKE '01691%' OR LEFT(phone, 4) LIKE '01743%' OR LEFT(phone, 4) LIKE '01952%' OR LEFT(phone, 4) LIKE '01939%' OR LEFT(phone, 4) LIKE '01948%' OR LEFT(phone, 4) LIKE '01588%' OR LEFT(phone, 4) LIKE '01299%' OR LEFT(phone, 4) LIKE '01225%' OR LEFT(phone, 4) LIKE '01278%' OR LEFT(phone, 4) LIKE '01460%' OR LEFT(phone, 4) LIKE '01275%' OR LEFT(phone, 4) LIKE '01398%' OR LEFT(phone, 4) LIKE '01373%' OR LEFT(phone, 4) LIKE '01458%' OR LEFT(phone, 4) LIKE '01643%' OR LEFT(phone, 4) LIKE '01749%' OR LEFT(phone, 4) LIKE '01823%' OR LEFT(phone, 4) LIKE '01984%' OR LEFT(phone, 4) LIKE '01934%' OR LEFT(phone, 4) LIKE '01935%' OR LEFT(phone, 4) LIKE '01226%' OR LEFT(phone, 4) LIKE '01302%' OR LEFT(phone, 4) LIKE '01709%' OR LEFT(phone, 4) LIKE '01543%' OR LEFT(phone, 4) LIKE '01785%' OR LEFT(phone, 4) LIKE '01827%' OR LEFT(phone, 4) LIKE '01889%' OR LEFT(phone, 4) LIKE '01782%' OR LEFT(phone, 4) LIKE '01538%' OR LEFT(phone, 4) LIKE '01986%' OR LEFT(phone, 4) LIKE '01394%' OR LEFT(phone, 4) LIKE '01440%' OR LEFT(phone, 4) LIKE '01502%' OR LEFT(phone, 4) LIKE '01638%' OR LEFT(phone, 4) LIKE '01728%' OR LEFT(phone, 4) LIKE '01449%' OR LEFT(phone, 4) LIKE '01284%' OR LEFT(phone, 4) LIKE '01473%' OR LEFT(phone, 4) LIKE '01233%' OR LEFT(phone, 4) LIKE '01276%' OR LEFT(phone, 4) LIKE '01883%' OR LEFT(phone, 4) LIKE '01306%' OR LEFT(phone, 4) LIKE '01372%' OR LEFT(phone, 4) LIKE '01483%' OR LEFT(phone, 4) LIKE '01428%' OR LEFT(phone, 4) LIKE '01737%' OR LEFT(phone, 4) LIKE '01784%' OR LEFT(phone, 4) LIKE '01932%' OR LEFT(phone, 4) LIKE '01293%' OR LEFT(phone, 4) LIKE '01567%' OR LEFT(phone, 4) LIKE '01675%' OR LEFT(phone, 4) LIKE '01788%' OR LEFT(phone, 4) LIKE '01926%' OR LEFT(phone, 4) LIKE '01789%' OR LEFT(phone, 4) LIKE '024%' OR LEFT(phone, 4) LIKE '01564%' OR LEFT(phone, 4) LIKE '0121%' OR LEFT(phone, 4) LIKE '01384%' OR LEFT(phone, 4) LIKE '01922%' OR LEFT(phone, 4) LIKE '01902%' OR LEFT(phone, 4) LIKE '01342%' OR LEFT(phone, 4) LIKE '01444%' OR LEFT(phone, 4) LIKE '01403%' OR LEFT(phone, 4) LIKE '01903%' OR LEFT(phone, 4) LIKE '01798%' OR LEFT(phone, 4) LIKE '01274%' OR LEFT(phone, 4) LIKE '01422%' OR LEFT(phone, 4) LIKE '01484%' OR LEFT(phone, 4) LIKE '01535%' OR LEFT(phone, 4) LIKE '0113%' OR LEFT(phone, 4) LIKE '01977%' OR LEFT(phone, 4) LIKE '01924%' OR LEFT(phone, 4) LIKE '01943%' OR LEFT(phone, 4) LIKE '01980%' OR LEFT(phone, 4) LIKE '01249%' OR LEFT(phone, 4) LIKE '01380%' OR LEFT(phone, 4) LIKE '01672%' OR LEFT(phone, 4) LIKE '01722%' OR LEFT(phone, 4) LIKE '01793%' OR LEFT(phone, 4) LIKE '01985%' OR LEFT(phone, 4) LIKE '01386%' OR LEFT(phone, 4) LIKE '01562%' OR LEFT(phone, 4) LIKE '01905%' OR LEFT(phone, 4) LIKE '01527%') ORDER BY id DESC LIMIT 0, 6


Čisto za informaciju da objasnim o čemu se radi: treba da izvuče iz jedne tabele zadnih 6 record-a vezanih za određeni country. Pa "brainiac" umesto da kaže " where country = 'xxxx' " on iz druge tabele pokupi sve area codeove za tu country pa onda generise ovakav query. WTF?

Sva sreća pa sam video u kodu pre nego što je pušten sajt. I posle mi kažu "nemoj da im gledaš kod"? Gde da ne gledam, treba da se blamiram sa ovakvim budalaštinama.

mangia
03. 06. 2009., 18:11
Nema pretjerane veze ali ja sam vidio desetine ljudi koji da bi posjetili neki sajt, prvo otvore Google a onda u polje za pretragu ukucaju URL na koji žele ići. Google im kao prvi rezultat obično vrati isti taj link i tek onda kliknu na njega i posjete sajt.

Jednostavno misle da je Google upravo za to namjenjen. Strahota..

nixa
03. 06. 2009., 18:13
^ ima toga dosta, ja rodjenoj majci ne mogu da objasnim da se tako to ne radi

bOkIcA
03. 06. 2009., 18:36
Imam i ja biser od pre dve godine kad sam se nesto zaradio pa sam hteo da mi upit odradi svu matematiku sveta.
Sto je najveci fazon to je i radilo jedino sto mu je trebalo par minuta.
Smejao sam se sam sebi tri dana kakav sam idiot. :1003:

No ne znam da li da objavim sacuvani...
Svi ce mi se smejati. :1007:

razno
03. 06. 2009., 18:46
Ja nemogu ni da procitam ovaj upit koliko je dugacak :D

Peca
03. 06. 2009., 19:00
takav upit uglavnom neka petlja generise.
niko nije bas tolko lud da takvu kobasicu rucno pravi...
jedino sto ne vode racuna koliko ta kobasica posle naraste....

bOkIcA
03. 06. 2009., 19:54
$query = "SELECT @done_date:=done_date as done_date, report.creation_date AS creation_date, report.id AS id, @hours:=hours as hours, @overtime_a:=overtime_a as overtime_a, @overtime_b:=overtime_b as overtime_b, object.name AS name, @objectId := object.id, work_type.title AS work_type, job_status.title AS job_status,
@sum_price_extra_material:=( SELECT SUM(extra_material.quantity * extra_material.price) FROM extra_material WHERE report.id = extra_material.id_report ) AS sum_price_extra_material,
@sum_price_material:=( SELECT SUM((material.quantity + ((@ttt:=material.id_article) * 0)) *
( select if (d.discount_value is null, p.price, p.price * d.discount_value / 100) as price
from `article` a, `price` p, `group` g
left join discount d on d.id_group = g.id
and d.id_object = $idObject
and d.id = (select id from discount where id_group = g.id and (date(@done_date) < end_date or end_date is null) order by id limit 1)
where
a.id = @ttt
and a.id = p.id_article
and p.id = (select id from price where id_article = a.id and (date(@done_date) < end_date or end_date is null) order by id limit 1)
and a.id_group = g.id)
) FROM material WHERE report.id = material.id_report ) AS sum_price_material,
comment.comment,
@done_date as date,
@price_per_hour1:=( SELECT workhour FROM work_price WHERE id_object = @objectId AND end_date IS NULL ),
@price_per_hour:= IF ( @price_per_hour1 IS NULL, 0, @price_per_hour1 ) AS price_per_hour,
@price_per_overtime_a1:=( SELECT overtime_a FROM work_price WHERE id_object = @objectId AND end_date IS NULL ),
@price_per_overtime_a:= IF ( @price_per_overtime_a1 IS NULL, 0, @price_per_overtime_a1 ) AS price_per_overtime_a,
@price_per_overtime_b1:=( SELECT overtime_b FROM work_price WHERE id_object = @objectId AND end_date IS NULL ),
@price_per_overtime_b:= IF ( @price_per_overtime_b1 IS NULL, 0, @price_per_overtime_b1 ) AS price_per_overtime_b,
@hours_price:=( @hours * @price_per_hour ) as hours_price,
@overtime_a_price:=( @overtime_a * @price_per_overtime_a ) as overtime_a_price,
@overtime_b_price:=( @overtime_b * @price_per_overtime_b ) as overtime_b_price,
@sum_hours_prices:=( @hours_price + @overtime_a_price + @overtime_b_price ) as sum_hours_prices,
@sum_all_prices:=( @sum_hours_prices + ( IF ( @sum_price_extra_material is null, 0, @sum_price_extra_material ) ) + ( IF ( @sum_price_material is null, 0, @sum_price_material ) ) ) as sum_all_prices,
object.temp as is_temp
FROM report
LEFT JOIN comment ON comment.id_report = report.id,
activities
LEFT JOIN object ON activities.id_customer = object.id
LEFT JOIN job_status ON activities.id_job_status = job_status.id,
work_type
WHERE report.id_user = $idUser
AND done_date >= '$dateFrom'
AND done_date <= '$dateTo'
AND report.id_activity = activities.id
-- AND activities.id_job_status = 4
AND report.id_work_type = work_type.id
ORDER BY is_temp ASC, date DESC";

:1054: kad sam vec zakuvao

bluesman
03. 06. 2009., 20:23
Bilo bi interesantno provući ovakav query kroz EXPLAIN... siguran sam da bi MySQL pozvao neki SWAT team da reaguje ;)

dinke
03. 06. 2009., 20:23
'bem ti ovakvo radno vrijeme...
Pored svega ostalog, ovo je wtf samo za sebe:
users.gender = '4112'

Je li "gender" u smislu "pol"? Koliko ih moze biti? :)

Ahaha, mislim da sam imao dodir sa tom bazom, ako se dobro secam pored onog klasicnog jednostavnog (male/female) tamo postoje i razne druge kategorije (lesbian, gay, shemale itd.) :) Ovo je 21 vek ko kaze da moze biti jednostavno ;)

dukacar
04. 06. 2009., 00:16
Jos uvek ne mogu da poverujem u ovo sto sam video veceras. Mislim da covek koji napise ovakav query ne samo da treba da dobije otkaz nego jos i batine:

SELECT DISTINCT users.id, users.membership, (((acos(sin((35.7589*pi()/180)) * sin((users.latitude*pi()/180))+cos((35.7589*pi()/180)) * cos((users.latitude*pi()/180)) * cos(((-78.7798- users.longitude)*pi()/180))))*180/pi())*60*1.1515) as distance
FROM users
INNER JOIN laston ON users.id = laston.user_id INNER JOIN z_9 AS s9 ON users.id = s9.user_id INNER JOIN z_12 AS s12 ON users.id = s12.user_id INNER JOIN z_13 AS s13 ON users.id = s13.user_id INNER JOIN z_14 AS s14 ON users.id = s14.user_id INNER JOIN z_15 AS s15 ON users.id = s15.user_id INNER JOIN z_16 AS s16 ON users.id = s16.user_id INNER JOIN z_17 AS s17 ON users.id = s17.user_id INNER JOIN z_18 AS s18 ON users.id = s18.user_id INNER JOIN z_19 AS s19 ON users.id = s19.user_id INNER JOIN z_21 AS s21 ON users.id = s21.user_id INNER JOIN z_22 AS s22 ON users.id = s22.user_id INNER JOIN z_23 AS s23 ON users.id = s23.user_id INNER JOIN z_24 AS s24 ON users.id = s24.user_id INNER JOIN z_25 AS s25 ON users.id = s25.user_id INNER JOIN z_27 AS s27 ON users.id = s27.user_id INNER JOIN z_29 AS s29 ON users.id = s29.user_id INNER JOIN z_31 AS s31 ON users.id = s31.user_id INNER JOIN z_32 AS s32 ON users.id = s32.user_id INNER JOIN z_33 AS s33 ON users.id = s33.user_id INNER JOIN z_35 AS s35 ON users.id = s35.user_id INNER JOIN z_38 AS s38 ON users.id = s38.user_id INNER JOIN z_39 AS s39 ON users.id = s39.user_id INNER JOIN z_40 AS s40 ON users.id = s40.user_id INNER JOIN z_41 AS s41 ON users.id = s41.user_id INNER JOIN z_42 AS s42 ON users.id = s42.user_id INNER JOIN z_50 AS s50 ON users.id = s50.user_id INNER JOIN z_51 AS s51 ON users.id = s51.user_id INNER JOIN z_53 AS s53 ON users.id = s53.user_id INNER JOIN z_55 AS s55 ON users.id = s55.user_id INNER JOIN z_58 AS s58 ON users.id = s58.user_id INNER JOIN z_60 AS s60 ON users.id = s60.user_id
WHERE 1 AND users.gender = '4112' AND users.seeking = '4092' AND (s9.option_id = '137' OR s9.option_id = '138' OR s9.option_id = '139' OR s9.option_id = '140' OR s9.option_id = '141' OR s9.option_id = '142' OR s9.option_id = '433' OR s9.option_id = '434' OR s9.option_id = '481' OR s9.option_id = '482') AND (s12.option_id = '214' OR s12.option_id = '215' OR s12.option_id = '216' OR s12.option_id = '217' OR s12.option_id = '218' OR s12.option_id = '220') AND (s13.option_id = '221' OR s13.option_id = '222' OR s13.option_id = '223' OR s13.option_id = '224' OR s13.option_id = '225' OR s13.option_id = '226' OR s13.option_id = '227' OR s13.option_id = '429' OR s13.option_id = '435' OR s13.option_id = '495') AND (s14.option_id = '228' OR s14.option_id = '229' OR s14.option_id = '230' OR s14.option_id = '231' OR s14.option_id = '488' OR s14.option_id = '489' OR s14.option_id = '646') AND (s15.option_id = '232' OR s15.option_id = '233' OR s15.option_id = '234' OR s15.option_id = '645') AND (s16.option_id = '238' OR s16.option_id = '239' OR s16.option_id = '240') AND (s17.option_id = '242' OR s17.option_id = '243' OR s17.option_id = '244' OR s17.option_id = '245' OR s17.option_id = '246' OR s17.option_id = '436') AND (s18.option_id = '248' OR s18.option_id = '249' OR s18.option_id = '250' OR s18.option_id = '251' OR s18.option_id = '252' OR s18.option_id = '253' OR s18.option_id = '254' OR s18.option_id = '437') AND (s19.option_id = '256' OR s19.option_id = '257' OR s19.option_id = '258' OR s19.option_id = '259' OR s19.option_id = '260' OR s19.option_id = '261' OR s19.option_id = '262' OR s19.option_id = '263' OR s19.option_id = '264' OR s19.option_id = '265') AND (s21.option_id = '276' OR s21.option_id = '277' OR s21.option_id = '278' OR s21.option_id = '279' OR s21.option_id = '280' OR s21.option_id = '281' OR s21.option_id = '282' OR s21.option_id = '283') AND (s22.option_id = '285' OR s22.option_id = '286' OR s22.option_id = '287' OR s22.option_id = '288' OR s22.option_id = '492' OR s22.option_id = '493' OR s22.option_id = '494') AND (s23.option_id = '290' OR s23.option_id = '291' OR s23.option_id = '292' OR s23.option_id = '491' OR s23.option_id = '663') AND (s24.option_id = '294' OR s24.option_id = '295' OR s24.option_id = '296' OR s24.option_id = '297' OR s24.option_id = '298') AND (s25.option_id = '299' OR s25.option_id = '300' OR s25.option_id = '301' OR s25.option_id = '302' OR s25.option_id = '454' OR s25.option_id = '455') AND (s27.option_id = '312' OR s27.option_id = '313' OR s27.option_id = '314' OR s27.option_id = '315' OR s27.option_id = '316' OR s27.option_id = '317' OR s27.option_id = '318' OR s27.option_id = '319' OR s27.option_id = '320' OR s27.option_id = '344') AND (s29.option_id = '321' OR s29.option_id = '322' OR s29.option_id = '323' OR s29.option_id = '324' OR s29.option_id = '325' OR s29.option_id = '326' OR s29.option_id = '327' OR s29.option_id = '328' OR s29.option_id = '329' OR s29.option_id = '330') AND (s31.option_id = '333' OR s31.option_id = '334' OR s31.option_id = '335' OR s31.option_id = '336' OR s31.option_id = '337' OR s31.option_id = '338' OR s31.option_id = '339' OR s31.option_id = '341' OR s31.option_id = '342') AND (s32.option_id = '348' OR s32.option_id = '350' OR s32.option_id = '351' OR s32.option_id = '352' OR s32.option_id = '353' OR s32.option_id = '354' OR s32.option_id = '355' OR s32.option_id = '356' OR s32.option_id = '357' OR s32.option_id = '358') AND (s33.option_id = '362' OR s33.option_id = '363' OR s33.option_id = '364' OR s33.option_id = '365' OR s33.option_id = '366' OR s33.option_id = '367' OR s33.option_id = '368' OR s33.option_id = '369' OR s33.option_id = '370' OR s33.option_id = '371') AND (s35.option_id = '372' OR s35.option_id = '373' OR s35.option_id = '374' OR s35.option_id = '375' OR s35.option_id = '449' OR s35.option_id = '450' OR s35.option_id = '567' OR s35.option_id = '568' OR s35.option_id = '569' OR s35.option_id = '571') AND (s38.option_id = '376' OR s38.option_id = '377' OR s38.option_id = '378' OR s38.option_id = '379' OR s38.option_id = '380' OR s38.option_id = '381' OR s38.option_id = '382' OR s38.option_id = '383' OR s38.option_id = '384' OR s38.option_id = '385') AND (s39.option_id = '386' OR s39.option_id = '387' OR s39.option_id = '388' OR s39.option_id = '389' OR s39.option_id = '390' OR s39.option_id = '391' OR s39.option_id = '392' OR s39.option_id = '393' OR s39.option_id = '394' OR s39.option_id = '395') AND (s40.option_id = '402' OR s40.option_id = '403' OR s40.option_id = '404' OR s40.option_id = '405' OR s40.option_id = '406' OR s40.option_id = '407' OR s40.option_id = '408' OR s40.option_id = '409' OR s40.option_id = '410' OR s40.option_id = '411') AND (s41.option_id = '413' OR s41.option_id = '414' OR s41.option_id = '415' OR s41.option_id = '416' OR s41.option_id = '417' OR s41.option_id = '418' OR s41.option_id = '419') AND (s42.option_id = '421' OR s42.option_id = '422' OR s42.option_id = '423' OR s42.option_id = '424' OR s42.option_id = '425' OR s42.option_id = '426' OR s42.option_id = '427' OR s42.option_id = '453' OR s42.option_id = '641' OR s42.option_id = '643') AND (s50.option_id = '496' OR s50.option_id = '497' OR s50.option_id = '498' OR s50.option_id = '499' OR s50.option_id = '500' OR s50.option_id = '501' OR s50.option_id = '502' OR s50.option_id = '503' OR s50.option_id = '504' OR s50.option_id = '505') AND (s51.option_id = '509' OR s51.option_id = '510' OR s51.option_id = '511' OR s51.option_id = '512' OR s51.option_id = '513' OR s51.option_id = '514' OR s51.option_id = '515' OR s51.option_id = '516' OR s51.option_id = '517' OR s51.option_id = '518') AND (s53.option_id = '538' OR s53.option_id = '539' OR s53.option_id = '540' OR s53.option_id = '541' OR s53.option_id = '542' OR s53.option_id = '543' OR s53.option_id = '544' OR s53.option_id = '545' OR s53.option_id = '546' OR s53.option_id = '547') AND (s55.option_id = '4152' OR s55.option_id = '4162' OR s55.option_id = '4172' OR s55.option_id = '4182' OR s55.option_id = '4192' OR s55.option_id = '4202' OR s55.option_id = '4212' OR s55.option_id = '4222' OR s55.option_id = '4232' OR s55.option_id = '4242') AND (s58.option_id = '605' OR s58.option_id = '606' OR s58.option_id = '607' OR s58.option_id = '608' OR s58.option_id = '609' OR s58.option_id = '610' OR s58.option_id = '611' OR s58.option_id = '612' OR s58.option_id = '613' OR s58.option_id = '614') AND (s60.option_id = '682' OR s60.option_id = '683') AND users.approved = '1' AND users.deleted = '0' and users.main_photo_id !=0 AND (users.latitude > 35.3239421622 AND users.latitude < 36.1938578378) AND (users.longitude > -79.3142578966 AND users.longitude < -78.2453421034) AND users.dob > '1957-03-19' AND users.dob < '1988-03-19' AND users.id != '1' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '1') AND users.id NOT IN (SELECT user_id FROM personal_definitions_attention) ORDER BY distance ASC LIMIT 500


Ovo sam dobio od coveka koji odrzava jedan server i koji kao i ja ne moze da se nacudi koji ludak moze ovo da napise. Hajde neko ako sme neka pusti ovaj query :)

Je moj query, hvala svima na komentarima.

Sada jos nesto, primetio sam da svako nesto malo zapljune ali niko nije pruzio neku ideju za resenje ovakvih problema, mislim svi su pametni kada ne moraju da rese problem, jel?

Baza je takva kakva je i nisam je ja pravio, cak nisam pravio ni originalni query, nego samo prilagodio sistem da sljaka i isti sljaka, prethodno je zapucavao na vise od 10 uslova (sxx.option_id).
Sam kod iz formulara kreira query, tabele su denormalizovane da bi uopste mogao da se izvrsi.

Zahtev je takav da treba da odradi 100 uslova + ovo ostalo, suludo je znam ali ne odlucujem ja o ovakvim stvarima.

Mislim Bluesmane da radimo za istu firmu tako da mozes da mi sredis otkaz a za batine nisam siguran. Takodje mislim da bi prvo trebao da se obratis kolegama ako smatras da nesto moze bolje a onda da postujes savet kako se izbegavaju komplikovani queriji.

Ako neko ima neku ideju koja bi resila ovu stvar, bio bih mu zahvalan da je podeli sa mnom jer, iskreno, ni meni se ovo bas ne svidja. tu sam ako ima nekih pitanja.

Pozdrav svima i ne znam sta bih jos rekao, hvala vam.

jasmanac
04. 06. 2009., 00:54
Mislim Bluesmane da radimo za istu firmu tako da mozes da mi sredis otkaz a za batine nisam siguran.

:seljak:

bOkIcA
04. 06. 2009., 01:00
Kako li je tema iznikla posle godinu i par meseci a prva poruka tek sad postala aktuelna?! :eek:

dukacar
04. 06. 2009., 01:16
Uh, uh.
Jasmanac, ne bih da ovo ode u pogresnom pravcu, ovo sto si postovao ne lici mi ni na kakvo resenje.

Moj komentar (koji si citirao) je bio u laganom afektu a za batine nisam siguran zato sto brzo trcim. :)

Ne bih da se sada ovde stvori neka prepirka, vise sam zaiteresovan za resenje.

Bokice, tema je postala aktivna jer sam saznao za nju tek sada.

bluesman
04. 06. 2009., 01:25
Mister, ne plaćam te ja, nisi ni u mom timu, ... otkaz mogu da spremim za ovog "mog" ( i dobio je poslednje upozorenje, ako još jednom vidim nešto slično tome može slobodno da počne da traži novi posao ), a "batine" su čisto zbog dramatizacije :) Posle celog dana objašnjavanja zašto to ne može tako, rekao sam mu jednostavno: "I don't know if you understand me, I don't know how to explain better, but this query has to go. We can not have query like that no matter what... Even if we don't display some data - fine... as long as this query is gone forever."

A što se tiče tvog problema, ovakvi problemi se rešavaju denormalizacijom i višestrukim querijima. Nije u "svetom pismu" zapisano da sve mora jednim querijem da se izvrši, čak je i dokazano da se neki naizgled jednostavni queriji brže iszvršavaju ako se podele u 2 optimizovana.

A ovo sam iskopirao ovde kada mi je system admin poslao taj query uz komentar koji ne želiš da čuješ i napomenuo da se izvršava već preko 20 minuta i svi drugi sajtovi na tom serveru imaju žešći problem. Ako se ne varam, čak je rekao da se izvršava nekoliko ovakvih querija istovremeno.

Posao developera nije posao daktilografa, ako već misliš da si "nasledio" problem, onda si trebao sa tvojim managerom da vidiš kako da rešiš problem i da ti neko pomogne oko sređivanja te baze, kreiranja dodatnih tabela, a ne da napišeš ovakav query i da sediš zadovoljan što si "otkačio jednu stavku". Nadam se da me razumeš šta hoću da kažem?

dukacar
04. 06. 2009., 02:10
Hmm, super. Vidi, bez ljutnje.

Kao što rekoh, nisam zadovoljan time a i sugerisao sam da to nema mnogo smisla.
Denormalizovao šta je bilo dozvoljeno a query izgleda ovako u ekstremnim slučajevima kojih najverovatnije ni nema (mislim da bi korisnike zaboleli zglobovi na kažiprstu kada bi pokušali da čekiraju svaku opciju).
Zašto pretpostavljaš da nisam sa svojim managerom razgovarao o tome i da predlog nije prihvaćen iz ovih ili onih razloga?
Mislim da znaš o kojim sajtovima se radi i rezultati u ovako ekstremnim slučajevima ne izlaze supersonično ali izlaze.

Voleo bih da vidim neki primer podele ovog querija u dva (ili više) optimizovana koji bi to brže odradili.

Zaista neću više postovati na ovu temu, osim da se zahvalim ako neko ima konkretno rešenje, u teoriju sam upućen i sam. Ne vidim kome bi pomogla debata oko problema za koji niko nema rešenje, osim sujetama.

Tnx Bluesmane.

bluesman
04. 06. 2009., 03:14
Vidi, ne ljutim se ja... samo mi je takva faca :)

Samo pokušavam da ti kažem šta mislim o tome. Ako si pokušao da rešiš problem i nisu zaključili da je potrebno da se menja bilo šta, onda sva krivica pada na njih (ne verujem da se on sam pita, mada i dalje mislim da može da ima dovoljno autonomije u odlučivanju da reši sam ovakve stvari).

Ja bih ti rado pomogao kada bih mogao da ustanovim šta stoji iza onih kriptičnih imena. Pa još na kraju limit 500 ? :)

BTW, cela frka je nastala kada su se admini žalili gazdama da postojeći hardver nije dovoljan jer je load ogroman, onda je počeo da kopa da vidi šta je problem i naišao na ove querije... dakle, nije da se ne izvršavaju - piče i razbijaju (bukvalno) :)

Jedno ipak moram da ti priznam, ovaj moj latvijac, litvanac... šta god da je... on te je prešišao sa ovim njegovim umotvorinama.

jablan
04. 06. 2009., 08:45
Jednostavno, čovek sebi mora da postavi granicu nivoa prljavštine koju će dozvoliti u kodu na kojem radi. Jasno je sve to, nasleđuje se svakakav kod i često se nema vremena da se stvari dovedu u red, ali granica negde mora da postoji.

Po meni uopšte nije čudno da u jednom trenutku, kad traže procenu za neki najbanalniji feature, tipa novi čekboks na formu za pretragu, dobiju nešto tipa "tri meseca". I trebalo bi da su svesni da nema smisla da onda kažu "ali za prethodni čekboks trebalo ti je pola sata". ;)

zidoo
04. 06. 2009., 09:41
^Nažalost u dosta slučajeva nije developer taj koji određuje koliko prljavštine ćeš da imaš, već "menađer". Ljudi koji vode projekat često nisu pretjerano upućeni u materiju, zapravi nisu uopšte pa se ide logikom: Aj sad napravi da radi, a poslje ćemo videt...

Ne opravdavam autora, samo želim da kažem da možda nije crno bjelo. I mene su "tjerali" jednom da pravim neki mutav SQL sa jedno 20-30 linije (AND,OR,JOIN)...

mangia
04. 06. 2009., 23:27
Dešavaju se debilni zahtjevi i to niko ne spori ali oniliki upit...

Samo parsiranje onog upita traje vječnost... Samo dok MySQL skonta šta tražiš od njega... a kamoli da "pljune" podatke...

blackshtef
05. 06. 2009., 11:40
^Nažalost u dosta slučajeva nije developer taj koji određuje koliko prljavštine ćeš da imaš, već "menađer". Ljudi koji vode projekat često nisu pretjerano upućeni u materiju, zapravi nisu uopšte pa se ide logikom: Aj sad napravi da radi, a poslje ćemo videt...
Ja ću se samo kratko ubaciti na ovo, nevezano uz SQL, ali vezano uz xHTML/CSS.

Jedna od najžešćih stvari mi je kada napravim fino validan kod, validator puca od zelenila, u footeru stoji "valid xhtml strict" oznaka, i onda dođe klijent, napuni site sadržajem (naravno, bolda tekst da bi bio "naslov", baca tablice jer je skužio da može i slično) i onda me pita zašto site nije validan...

facepalm

ivanbj
09. 06. 2009., 11:35
Nema pretjerane veze ali ja sam vidio desetine ljudi koji da bi posjetili neki sajt, prvo otvore Google a onda u polje za pretragu ukucaju URL na koji žele ići. Google im kao prvi rezultat obično vrati isti taj link i tek onda kliknu na njega i posjete sajt.

Jednostavno misle da je Google upravo za to namjenjen. Strahota..

Imao sam situaciju da me čovek zove sa pričom da mu sajt ne radi...

Meni je radio, bili smo na istom provajderu, tvrdio je da mu problem traje danima, sve ostalo radi...

Ispostavilo se da je sajt pre prelaska na .rs domen indeksiran na .co.yu koji nije obnovljen, a da tip non stop adresu kuca u guglu i da mu kao prvi rezultat izlazi indeksirani neaktivan .co.yu domen

Milos Vukotic
09. 06. 2009., 11:46
Jednostavno, čovek sebi mora da postavi granicu nivoa prljavštine koju će dozvoliti u kodu na kojem radi.
Neki dan primijetismo na sajtu klijenta tekst sa naslovom "Svjecki dan zaštite životne sredine". Dakle, svjeCki :1054:
To ti je nivo prljavštine, kad je PR neke firme polupismena neznalica...

Ulogovah se na phpMyAdmin i promijenih naslov (pitajući se usput "zašto, zašto je moje srce tako veliko?") - jednostavno nisam mogao da podnesem, iako bi trebalo da me boli uvo za to... :1058:

bluesman
09. 06. 2009., 12:50
Tako i treba... ja nisam nikad bio za "baš me briga" stav. Meni se dešavalo da takve stvari radim čak i za klijenta koji mi još uvek duguje pare... ne mogu da gledam to ravnodušan.

Milos Vukotic
09. 06. 2009., 13:12
ne mogu da gledam to ravnodušan.
To je to... Nego je problem što se čovjeku s godinama gomilaju takve stvari koje ne može gledat ravnodušan, a to se konačno odrazi na nervnoj bazi :)

bluesman
15. 06. 2009., 16:51
Latvia stikes again:

SELECT count( * ) AS val, b.area_code FROM `phone_allocations` a LEFT JOIN `area_codes` b ON a.`area_code_id` = b.`area_code_id` WHERE a.`area_code_id` IN (17, 121, 242, 295, 429, 242, 195, 429, 242, 295, 17, 429, 195, 106, 219, 322, 328, 471, 417, 471, 106, 328, 417, 471, 471, 470, 470, 72, 57, 225, 552, 326, 326, 225, 225, 552, 225, 322, 17, 505, 72, 72, 552, 113, 212, 114, 573, 9, 114, 212, 113, 212, 402, 26, 40, 48, 279, 320, 312, 560, 558, 48, 558, 320, 475, 560, 312, 48, 475, 48, 475, 320, 312, 7, 64, 501, 91, 280, 292, 232, 330, 502, 403, 8, 396, 525, 292, 8, 396, 403, 91, 390, 7, 403, 91, 403, 416, 330, 403, 403, 7, 144, 26, 6, 90, 479, 166, 496, 334, 144, 334, 406, 90, 479, 479, 144, 144, 6, 334, 144, 431, 15, 14, 255, 253, 433, 430, 256, 574, 379, 547, 378, 546, 380, 381, 432, 614, 171, 254, 379, 254, 15, 574, 547, 15, 574, 241, 431, 547, 15, 255, 379, 15, 254, 99, 74, 28, 191, 323, 348, 438, 96, 438, 323, 438, 28, 74, 28, 323, 28, 468, 467, 468, 468, 318, 28, 59, 348, 323, 124, 73, 49, 20, 148, 123, 146, 153, 264, 338, 321, 499, 416, 487, 536, 480, 293, 321, 124, 338, 73, 536, 480, 148, 49, 416, 499, 20, 153, 480, 264, 73, 148, 321, 480, 38, 2, 84, 81, 411, 561, 38, 76, 84, 2, 81, 73, 2, 587, 38, 561, 2, 81, 2, 42, 134, 154, 167, 422, 214, 214, 214, 588, 167, 214, 167, 588, 88, 458, 490, 50, 162, 162, 543, 88, 50, 50, 50, 88, 88, 50, 543, 46, 133, 54, 27, 35, 5, 129, 316, 460, 583, 35, 609, 54, 5, 461, 316, 46, 461, 133, 132, 609, 35, 132, 449, 35, 54, 384, 461, 5, 46, 46, 384, 384, 27, 384, 316, 132, 129, 132, 609, 35, 5, 133, 5, 188, 61, 187, 186, 304, 185, 24, 470, 304, 61, 470, 470, 313, 248, 186, 187, 351, 367, 188, 24, 187, 188, 461, 3, 386, 570, 476, 476, 570, 476, 570, 476, 3, 476, 476, 476, 476, 476, 476, 3, 570, 386, 3, 476, 476, 3, 570, 386, 476, 386, 191, 476, 476, 476, 476, 476, 386, 476, 476, 476, 570, 476, 476, 570, 32, 159, 44, 36, 400, 163, 583, 586, 462, 220, 220, 25, 32, 32, 586, 471, 462, 462, 538, 169, 260, 248, 282, 56, 37, 178, 195, 387, 425, 397, 554, 195, 178, 461, 609, 425, 461, 609, 295, 387, 609, 609, 195, 556, 56, 56, 178, 609, 387, 602, 602, 602, 602, 602, 602, 602, 13, 87, 80, 79, 206, 317, 401, 456, 585, 606, 504, 327, 80, 401, 456, 327, 13, 458, 504, 458, 206, 543, 456, 504, 327, 543, 80, 456, 327, 543, 327, 87, 87, 293, 401, 80, 504, 13, 34, 33, 58, 37, 1, 612, 240, 377, 377, 34, 37, 386, 58, 58, 240, 58, 34, 58, 33, 386, 437, 437, 437, 33, 240, 58, 34, 58, 437, 33, 386, 386, 34, 437, 189, 469, 237, 515, 349, 247, 247, 189, 469, 237, 469, 596, 4, 341, 164, 208, 204, 155, 239, 235, 358, 394, 418, 246, 439, 452, 444, 341, 442, 418, 204, 204, 164, 235, 201, 341, 235, 442, 239, 418, 461, 475, 385, 408, 475, 475, 475, 475, 385, 475, 475, 475, 475, 475, 475, 558, 475, 475, 475, 43, 122, 135, 125, 93, 224, 217, 267, 375, 423, 503, 581, 236, 224, 581, 43, 224, 224, 43, 43, 375, 581, 93, 310, 362, 161, 108, 63, 161, 176, 591, 342, 334, 314, 415, 412, 427, 393, 420, 399, 419, 506, 575, 550, 412, 393, 591, 550, 241, 415, 161, 63, 427, 591, 342, 161, 334, 412, 63, 334, 334, 567, 334, 334, 92, 251, 311, 564, 495, 57, 251, 251, 251, 564, 564, 495, 564, 251, 564, 495, 92, 350, 171, 171, 355, 347, 354, 65, 171, 353, 350, 355, 355, 65, 355, 171, 355, 355, 347, 353, 329, 441, 553, 468, 468, 577, 438, 468, 468, 318, 318, 329, 468, 318, 71, 522, 313, 126, 222, 505, 610, 18, 18, 18, 610, 18, 222, 18, 286, 286, 410, 376, 297, 324, 374, 407, 580, 569, 576, 299, 299, 580, 75, 299, 297, 580, 374, 580, 580, 580, 580, 11, 55, 193, 52, 150, 131, 192, 335, 413, 488, 603, 565, 587, 566, 335, 565, 413, 55, 587, 193, 55, 193, 470, 192, 52, 55, 52, 193, 488, 413, 603, 12, 78, 389, 467, 553, 389, 389, 389, 12, 78, 389, 154, 78, 389, 59, 259, 447, 491, 541, 445, 259, 252, 447, 259, 445, 252, 259, 445, 447, 541, 445, 447, 605, 147, 177, 231, 331, 398, 183, 449, 60, 398, 231, 60, 449, 135, 398, 205, 605, 205, 398, 183, 231, 147, 16, 53, 535, 82, 130, 215, 165, 404, 446, 563, 563, 404, 563, 404, 446, 130, 461, 32, 53, 215, 563, 69, 130, 535, 404, 563, 563, 563, 563, 461, 215, 281, 479, 281, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 360, 450, 559, 451, 491, 463, 278, 559, 559, 463, 313, 559, 451, 472, 463, 140, 555, 548, 472, 555, 140, 259, 472, 472, 140, 472, 472, 548, 472, 548, 25, 69, 104, 180, 152, 25, 180, 549, 400, 459, 25, 50, 549, 51, 160, 216, 250, 466, 597, 557, 567, 51, 557, 51, 216, 597, 51, 557, 160, 597, 466, 160, 557, 216, 466, 571, 216, 557, 466, 160, 557, 557, 571, 51, 597, 160, 386, 599, 51, 30, 136, 351, 357, 392, 454, 604, 30, 30, 454, 11, 599, 11, 454, 75, 141, 276, 367, 551, 244, 244, 551, 141, 75, 297, 367, 254) GROUP BY a.`area_code_id` ORDER BY val DESC LIMIT 50


A query treba da uradi otprilike ovo:
SELECT COUNT(*) WHERE state='england'

I kada ga pitam:
why do you do that? diddn't we agree you will add column "state" in the area codes table ?

Tece razgovor ovako:
- not in area_codes table
- why not ?
- I think this kind of table should be mobile
- what is "mobile" ?
- flexible
- and you want it "flexible", whatever it means?
- yes

hoće da kaže kako su mu tabele normalizovane i ono što mu ja govorim da uradi nije "by the book". On ima tabele:
cities (city, country)
area_codes (city, area code)
pa pokupi sve cities za odredjeni country ("England") i onda za te cities, pokupi sve area codes i onda napravi ovaj IN (... )

I uporno odbija da uradi ono sto mu kazem jer tvrdi:

If I give them the `state` row it wont be so dinamic .... some kind of code should track changes and do an update for updated area codes states or subcodes states

... i tu sam odustao jer sam prošli put proveo ceo dan da mu objasnim kako i zašto, samo sam mu dao "domaći" da napiše članak o denormalizaciji baze.

Goran: and you think, one day someone will decide that one area code for London will be changed to Manchester, for example, or you think one day Manchester will not be in England any more- it will be in Wales ?

@dukacar: mister, ovaj će da dobije otkaz pošto ili me zajebava ili nešto žešće nije u redu sa njim kada on i ne kapira da je ovo loše i ne želi da ispravi. Ok je jednom, dva puta, pa i pet puta... ako skapiras o cemu se radi i ispravis gresku, ali ovaj me ladno zajebava :)

bluesman
15. 06. 2009., 16:59
I da, isti čovek mi je pre neki dan rekao kako mu smeta Smarty jer puca script zbog njega.

Onda sam provalio da je pokupio iz baze 30.000 recorda i onda hteo da ih prikaže na strani. Ako izuzmemo tu suludu ideju čak se nije potrudio ni da stavi assign_by_ref već sa assign pravi duplikate podataka, pa mu onda smeta smarty pošto mu prijavljuje da nema dovoljno memorije.

jablan
15. 06. 2009., 17:16
hoće da kaže kako su mu tabele normalizovane i ono što mu ja govorim da uradi nije "by the book".
A što je problem da doda i jedan JOIN na tabelu cities? Ne kapiram baš što baza mora da se denormalizuje...

razno
15. 06. 2009., 17:36
A što je problem da doda i jedan JOIN na tabelu cities? Ne kapiram baš što baza mora da se denormalizuje...

Pri velikoj kolicini podataka dolazi do gubitka performansi zbog kreiranja temp tabeli.Recimo imas 10 000 zapisa i pri ovakvom upitu
a.`area_code_id` = b.`area_code_id`
mysql mora da "obrne" tj. proveri tih 10 000 zapisa. Recimo takav upit traje 0.0500 sec a dva razdvojena upita ukupno 0.0010 sec.
Nisam mozda najbolje objasnio ali EXPLAIN komanda bi trebalo da ti da bolji uvid.

Inace smarty nije bas dobar za posecene sajtove jer je glomazan i njegovo iniciranje traje dosta. Sdruge strane pun je mogucnosti, mada ja recimo preferiram Tenjin (sa mojim cache sistemom i organizacijom fajlova, defaultni mi se ne svidja)

bluesman
15. 06. 2009., 17:42
Inače, to za Smarty uopšte nije tačno, ali nema veze, nećemo sada o tome - slobodno otvori novu temu pa ćemo da pričamo i o tome.

jablan
15. 06. 2009., 18:49
@razno: Kapiram ja čemu u opštem slučaju služi denormalizacija, moje pitanje je bilo vezano za ovaj konkretan slučaj - koliko mi se čini u pitanju je običan šifarnik sa relativno malim brojem slogova. Tj, da li je probano prvo sa tim dodatnim JOIN-om (što bi svelo upit na dva reda) pa primećeno da se upit vuče?

bluesman
15. 06. 2009., 20:04
Ne znam da li sam dobro objasnio, moja poenta je "radi šta znaš, samo ne moj ovako kako je sada", ako će da radi denormalizaciju ili drugačije da napiše query - nije mi važno. U stvari, ono što je ovde najveći problem je to što ne prepoznaje da je ovo loše napisan query, a to mu se ponavlja stalno. A denormalizaciju sam mu spomenuo jer je počeo da mi objašnjava kako nije "knjiški" ako imaš polje state, kada već postoji "lookup tabela", odnosno da je baza normalizovana.

mangia
15. 06. 2009., 20:06
............. ili me zajebava ili nešto žešće nije u redu sa njim .........

Mene interesuje zasto pojedine brojeve navodi 5-6 puta...
npr 389 se ponavlja 6 puta, ....

Vjerovatno misli ako MySQL promaši prvi da pokupi drugi... :)

A vjerujem da ima više mjesta/opština sa istim kodom pa odatle duplikati...

jablan
15. 06. 2009., 20:50
U stvari, ono što je ovde najveći problem je to što ne prepoznaje da je ovo loše napisan query, a to mu se ponavlja stalno.
E (ja malo dosadan), a jel ovo upit iz nekog sorsa, ili ga je sistem generisao, a ti ga pokupio iz nekog loga? Pošto kad se koriste ORM-ovi, može da se desi da sistem izgeneriše upite koji izgledaju ovako rogobatno.

bluesman
15. 06. 2009., 21:00
Ma jok, pisao je ručno, pogledao sam u kod... jedan query da pokupi sve ove area codes a drugi onda napise od tih podataka koje je dobio.

A nisam ga pokupio iz loga nego kada je uključen debug, onda ispisuje sve querije koji su izvršeni na strani, pa se u dnu strane sve vidi.

dinke
15. 06. 2009., 21:12
a lepo sam ja Taylorima govorio da vrate onaj interni forum sto smo ga nekada imali

bluesman
15. 06. 2009., 21:23
Misliš da se opanjkavamo na internom forumu? :D

dinke
15. 06. 2009., 21:50
Tamo bi bilo veselo ... pastujes neko sranje od koda i pitas "koji li je kreten ovo pisao" i onda se javi Bryan (vlasnik za neupucene) i kaze "Ja sam". Been there done that :)

bluesman
15. 06. 2009., 22:01
hahaha, znam za to... skoro svaki "novi" se zajebao na istu foru, kurče se pred boss-om, ali ne razmišljaju.

mangia
15. 06. 2009., 22:30
Taj njegov query je pravi onaj "hljeb od 7 kora"...

dee
15. 06. 2009., 23:43
Ne znam da li sam dobro objasnio, moja poenta je "radi šta znaš, samo ne moj ovako kako je sada", ako će da radi denormalizaciju ili drugačije da napiše query - nije mi važno. U stvari, ono što je ovde najveći problem je to što ne prepoznaje da je ovo loše napisan query, a to mu se ponavlja stalno. A denormalizaciju sam mu spomenuo jer je počeo da mi objašnjava kako nije "knjiški" ako imaš polje state, kada već postoji "lookup tabela", odnosno da je baza normalizovana.

Ne znam sta je problem. I denormalizacija je knjiski pojam, a otkaz je dio radnog iskustva.
Nije problem sto covjek ne zna, ali kad tupi s neznanjem i ne zeli naucit, tu nema smisla gubit vrijeme (po kojem god kriteriju). Otkaz i teraj dalje.

freeghost
17. 06. 2009., 15:11
Jos uvek ne mogu da poverujem u ovo sto sam video veceras. Mislim da covek koji napise ovakav query ne samo da treba da dobije otkaz nego jos i batine:

SELECT DISTINCT users.id, users.membership, (((acos(sin((35.7589*pi()/180)) * sin((users.latitude*pi()/180))+cos((35.7589*pi()/180)) * cos((users.latitude*pi()/180)) * cos(((-78.7798- users.longitude)*pi()/180))))*180/pi())*60*1.1515) as distance
FROM users
INNER JOIN laston ON users.id = laston.user_id INNER JOIN z_9 AS s9 ON users.id = s9.user_id INNER JOIN z_12 AS s12 ON users.id = s12.user_id INNER JOIN z_13 AS s13 ON users.id = s13.user_id INNER JOIN z_14 AS s14 ON users.id = s14.user_id INNER JOIN z_15 AS s15 ON users.id = s15.user_id INNER JOIN z_16 AS s16 ON users.id = s16.user_id INNER JOIN z_17 AS s17 ON users.id = s17.user_id INNER JOIN z_18 AS s18 ON users.id = s18.user_id INNER JOIN z_19 AS s19 ON users.id = s19.user_id INNER JOIN z_21 AS s21 ON users.id = s21.user_id INNER JOIN z_22 AS s22 ON users.id = s22.user_id INNER JOIN z_23 AS s23 ON users.id = s23.user_id INNER JOIN z_24 AS s24 ON users.id = s24.user_id INNER JOIN z_25 AS s25 ON users.id = s25.user_id INNER JOIN z_27 AS s27 ON users.id = s27.user_id INNER JOIN z_29 AS s29 ON users.id = s29.user_id INNER JOIN z_31 AS s31 ON users.id = s31.user_id INNER JOIN z_32 AS s32 ON users.id = s32.user_id INNER JOIN z_33 AS s33 ON users.id = s33.user_id INNER JOIN z_35 AS s35 ON users.id = s35.user_id INNER JOIN z_38 AS s38 ON users.id = s38.user_id INNER JOIN z_39 AS s39 ON users.id = s39.user_id INNER JOIN z_40 AS s40 ON users.id = s40.user_id INNER JOIN z_41 AS s41 ON users.id = s41.user_id INNER JOIN z_42 AS s42 ON users.id = s42.user_id INNER JOIN z_50 AS s50 ON users.id = s50.user_id INNER JOIN z_51 AS s51 ON users.id = s51.user_id INNER JOIN z_53 AS s53 ON users.id = s53.user_id INNER JOIN z_55 AS s55 ON users.id = s55.user_id INNER JOIN z_58 AS s58 ON users.id = s58.user_id INNER JOIN z_60 AS s60 ON users.id = s60.user_id
WHERE 1 AND users.gender = '4112' AND users.seeking = '4092' AND (s9.option_id = '137' OR s9.option_id = '138' OR s9.option_id = '139' OR s9.option_id = '140' OR s9.option_id = '141' OR s9.option_id = '142' OR s9.option_id = '433' OR s9.option_id = '434' OR s9.option_id = '481' OR s9.option_id = '482') AND (s12.option_id = '214' OR s12.option_id = '215' OR s12.option_id = '216' OR s12.option_id = '217' OR s12.option_id = '218' OR s12.option_id = '220') AND (s13.option_id = '221' OR s13.option_id = '222' OR s13.option_id = '223' OR s13.option_id = '224' OR s13.option_id = '225' OR s13.option_id = '226' OR s13.option_id = '227' OR s13.option_id = '429' OR s13.option_id = '435' OR s13.option_id = '495') AND (s14.option_id = '228' OR s14.option_id = '229' OR s14.option_id = '230' OR s14.option_id = '231' OR s14.option_id = '488' OR s14.option_id = '489' OR s14.option_id = '646') AND (s15.option_id = '232' OR s15.option_id = '233' OR s15.option_id = '234' OR s15.option_id = '645') AND (s16.option_id = '238' OR s16.option_id = '239' OR s16.option_id = '240') AND (s17.option_id = '242' OR s17.option_id = '243' OR s17.option_id = '244' OR s17.option_id = '245' OR s17.option_id = '246' OR s17.option_id = '436') AND (s18.option_id = '248' OR s18.option_id = '249' OR s18.option_id = '250' OR s18.option_id = '251' OR s18.option_id = '252' OR s18.option_id = '253' OR s18.option_id = '254' OR s18.option_id = '437') AND (s19.option_id = '256' OR s19.option_id = '257' OR s19.option_id = '258' OR s19.option_id = '259' OR s19.option_id = '260' OR s19.option_id = '261' OR s19.option_id = '262' OR s19.option_id = '263' OR s19.option_id = '264' OR s19.option_id = '265') AND (s21.option_id = '276' OR s21.option_id = '277' OR s21.option_id = '278' OR s21.option_id = '279' OR s21.option_id = '280' OR s21.option_id = '281' OR s21.option_id = '282' OR s21.option_id = '283') AND (s22.option_id = '285' OR s22.option_id = '286' OR s22.option_id = '287' OR s22.option_id = '288' OR s22.option_id = '492' OR s22.option_id = '493' OR s22.option_id = '494') AND (s23.option_id = '290' OR s23.option_id = '291' OR s23.option_id = '292' OR s23.option_id = '491' OR s23.option_id = '663') AND (s24.option_id = '294' OR s24.option_id = '295' OR s24.option_id = '296' OR s24.option_id = '297' OR s24.option_id = '298') AND (s25.option_id = '299' OR s25.option_id = '300' OR s25.option_id = '301' OR s25.option_id = '302' OR s25.option_id = '454' OR s25.option_id = '455') AND (s27.option_id = '312' OR s27.option_id = '313' OR s27.option_id = '314' OR s27.option_id = '315' OR s27.option_id = '316' OR s27.option_id = '317' OR s27.option_id = '318' OR s27.option_id = '319' OR s27.option_id = '320' OR s27.option_id = '344') AND (s29.option_id = '321' OR s29.option_id = '322' OR s29.option_id = '323' OR s29.option_id = '324' OR s29.option_id = '325' OR s29.option_id = '326' OR s29.option_id = '327' OR s29.option_id = '328' OR s29.option_id = '329' OR s29.option_id = '330') AND (s31.option_id = '333' OR s31.option_id = '334' OR s31.option_id = '335' OR s31.option_id = '336' OR s31.option_id = '337' OR s31.option_id = '338' OR s31.option_id = '339' OR s31.option_id = '341' OR s31.option_id = '342') AND (s32.option_id = '348' OR s32.option_id = '350' OR s32.option_id = '351' OR s32.option_id = '352' OR s32.option_id = '353' OR s32.option_id = '354' OR s32.option_id = '355' OR s32.option_id = '356' OR s32.option_id = '357' OR s32.option_id = '358') AND (s33.option_id = '362' OR s33.option_id = '363' OR s33.option_id = '364' OR s33.option_id = '365' OR s33.option_id = '366' OR s33.option_id = '367' OR s33.option_id = '368' OR s33.option_id = '369' OR s33.option_id = '370' OR s33.option_id = '371') AND (s35.option_id = '372' OR s35.option_id = '373' OR s35.option_id = '374' OR s35.option_id = '375' OR s35.option_id = '449' OR s35.option_id = '450' OR s35.option_id = '567' OR s35.option_id = '568' OR s35.option_id = '569' OR s35.option_id = '571') AND (s38.option_id = '376' OR s38.option_id = '377' OR s38.option_id = '378' OR s38.option_id = '379' OR s38.option_id = '380' OR s38.option_id = '381' OR s38.option_id = '382' OR s38.option_id = '383' OR s38.option_id = '384' OR s38.option_id = '385') AND (s39.option_id = '386' OR s39.option_id = '387' OR s39.option_id = '388' OR s39.option_id = '389' OR s39.option_id = '390' OR s39.option_id = '391' OR s39.option_id = '392' OR s39.option_id = '393' OR s39.option_id = '394' OR s39.option_id = '395') AND (s40.option_id = '402' OR s40.option_id = '403' OR s40.option_id = '404' OR s40.option_id = '405' OR s40.option_id = '406' OR s40.option_id = '407' OR s40.option_id = '408' OR s40.option_id = '409' OR s40.option_id = '410' OR s40.option_id = '411') AND (s41.option_id = '413' OR s41.option_id = '414' OR s41.option_id = '415' OR s41.option_id = '416' OR s41.option_id = '417' OR s41.option_id = '418' OR s41.option_id = '419') AND (s42.option_id = '421' OR s42.option_id = '422' OR s42.option_id = '423' OR s42.option_id = '424' OR s42.option_id = '425' OR s42.option_id = '426' OR s42.option_id = '427' OR s42.option_id = '453' OR s42.option_id = '641' OR s42.option_id = '643') AND (s50.option_id = '496' OR s50.option_id = '497' OR s50.option_id = '498' OR s50.option_id = '499' OR s50.option_id = '500' OR s50.option_id = '501' OR s50.option_id = '502' OR s50.option_id = '503' OR s50.option_id = '504' OR s50.option_id = '505') AND (s51.option_id = '509' OR s51.option_id = '510' OR s51.option_id = '511' OR s51.option_id = '512' OR s51.option_id = '513' OR s51.option_id = '514' OR s51.option_id = '515' OR s51.option_id = '516' OR s51.option_id = '517' OR s51.option_id = '518') AND (s53.option_id = '538' OR s53.option_id = '539' OR s53.option_id = '540' OR s53.option_id = '541' OR s53.option_id = '542' OR s53.option_id = '543' OR s53.option_id = '544' OR s53.option_id = '545' OR s53.option_id = '546' OR s53.option_id = '547') AND (s55.option_id = '4152' OR s55.option_id = '4162' OR s55.option_id = '4172' OR s55.option_id = '4182' OR s55.option_id = '4192' OR s55.option_id = '4202' OR s55.option_id = '4212' OR s55.option_id = '4222' OR s55.option_id = '4232' OR s55.option_id = '4242') AND (s58.option_id = '605' OR s58.option_id = '606' OR s58.option_id = '607' OR s58.option_id = '608' OR s58.option_id = '609' OR s58.option_id = '610' OR s58.option_id = '611' OR s58.option_id = '612' OR s58.option_id = '613' OR s58.option_id = '614') AND (s60.option_id = '682' OR s60.option_id = '683') AND users.approved = '1' AND users.deleted = '0' and users.main_photo_id !=0 AND (users.latitude > 35.3239421622 AND users.latitude < 36.1938578378) AND (users.longitude > -79.3142578966 AND users.longitude < -78.2453421034) AND users.dob > '1957-03-19' AND users.dob < '1988-03-19' AND users.id != '1' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '1') AND users.id NOT IN (SELECT user_id FROM personal_definitions_attention) ORDER BY distance ASC LIMIT 500


Ovo sam dobio od coveka koji odrzava jedan server i koji kao i ja ne moze da se nacudi koji ludak moze ovo da napise. Hajde neko ako sme neka pusti ovaj query :)

:1054::1054::1054:
ovaj je prso :1054::1054::1054:

Aleksandar.Ilic
18. 06. 2009., 01:07
meni danas poceo prska server i pogledam malo upite:

i nadjem upite ovog tipa:

# Query_time: 6 Lock_time: 0 Rows_sent: 97 Rows_examined: 7545312236609181
EXPLAIN SELECT * from pregled_fotografa;

# Query_time: 10 Lock_time: 0 Rows_sent: 105 Rows_examined: 533613705
SELECT 1 FROM `pregled_fotografa` LIMIT 20000;

poceo sam da gledam sta se desava, i brzo sam odustao i poslao pretece pismo programeru koji je pravio :(
na stranu sto se sva sortiranja rade sa: Using temporary; Using filesort, eventualno Using where;


pravio je tabele, bez dobrih kljuceva, onda je pravio poglede koje je kreirao join-ovanjem drugih pogleda i tako to :(
kad sam video cifre, osetio sam srce kako mi preskace

btw, baza ima ukupno oko 14000 rekorda

Aleksandar.Ilic
18. 06. 2009., 01:32
btw, sada sam skontao da je ovaj prvi explain koji sam ja radio da bih shvatio sta fali upitu :S

dukacar
19. 06. 2009., 03:38
Jos uvek ne mogu da poverujem u ovo sto sam video veceras. Mislim da covek koji napise ovakav query ne samo da treba da dobije otkaz nego jos i batine:

SELECT DISTINCT users.id, users.membership, (((acos(sin((35.7589*pi()/180)) * sin((users.latitude*pi()/180))+cos((35.7589*pi()/180)) * cos((users.latitude*pi()/180)) * cos(((-78.7798- users.longitude)*pi()/180))))*180/pi())*60*1.1515) as distance
FROM users
INNER JOIN laston ON users.id = laston.user_id INNER JOIN z_9 AS s9 ON users.id = s9.user_id INNER JOIN z_12 AS s12 ON users.id = s12.user_id INNER JOIN z_13 AS s13 ON users.id = s13.user_id INNER JOIN z_14 AS s14 ON users.id = s14.user_id INNER JOIN z_15 AS s15 ON users.id = s15.user_id INNER JOIN z_16 AS s16 ON users.id = s16.user_id INNER JOIN z_17 AS s17 ON users.id = s17.user_id INNER JOIN z_18 AS s18 ON users.id = s18.user_id INNER JOIN z_19 AS s19 ON users.id = s19.user_id INNER JOIN z_21 AS s21 ON users.id = s21.user_id INNER JOIN z_22 AS s22 ON users.id = s22.user_id INNER JOIN z_23 AS s23 ON users.id = s23.user_id INNER JOIN z_24 AS s24 ON users.id = s24.user_id INNER JOIN z_25 AS s25 ON users.id = s25.user_id INNER JOIN z_27 AS s27 ON users.id = s27.user_id INNER JOIN z_29 AS s29 ON users.id = s29.user_id INNER JOIN z_31 AS s31 ON users.id = s31.user_id INNER JOIN z_32 AS s32 ON users.id = s32.user_id INNER JOIN z_33 AS s33 ON users.id = s33.user_id INNER JOIN z_35 AS s35 ON users.id = s35.user_id INNER JOIN z_38 AS s38 ON users.id = s38.user_id INNER JOIN z_39 AS s39 ON users.id = s39.user_id INNER JOIN z_40 AS s40 ON users.id = s40.user_id INNER JOIN z_41 AS s41 ON users.id = s41.user_id INNER JOIN z_42 AS s42 ON users.id = s42.user_id INNER JOIN z_50 AS s50 ON users.id = s50.user_id INNER JOIN z_51 AS s51 ON users.id = s51.user_id INNER JOIN z_53 AS s53 ON users.id = s53.user_id INNER JOIN z_55 AS s55 ON users.id = s55.user_id INNER JOIN z_58 AS s58 ON users.id = s58.user_id INNER JOIN z_60 AS s60 ON users.id = s60.user_id
WHERE 1 AND users.gender = '4112' AND users.seeking = '4092' AND (s9.option_id = '137' OR s9.option_id = '138' OR s9.option_id = '139' OR s9.option_id = '140' OR s9.option_id = '141' OR s9.option_id = '142' OR s9.option_id = '433' OR s9.option_id = '434' OR s9.option_id = '481' OR s9.option_id = '482') AND (s12.option_id = '214' OR s12.option_id = '215' OR s12.option_id = '216' OR s12.option_id = '217' OR s12.option_id = '218' OR s12.option_id = '220') AND (s13.option_id = '221' OR s13.option_id = '222' OR s13.option_id = '223' OR s13.option_id = '224' OR s13.option_id = '225' OR s13.option_id = '226' OR s13.option_id = '227' OR s13.option_id = '429' OR s13.option_id = '435' OR s13.option_id = '495') AND (s14.option_id = '228' OR s14.option_id = '229' OR s14.option_id = '230' OR s14.option_id = '231' OR s14.option_id = '488' OR s14.option_id = '489' OR s14.option_id = '646') AND (s15.option_id = '232' OR s15.option_id = '233' OR s15.option_id = '234' OR s15.option_id = '645') AND (s16.option_id = '238' OR s16.option_id = '239' OR s16.option_id = '240') AND (s17.option_id = '242' OR s17.option_id = '243' OR s17.option_id = '244' OR s17.option_id = '245' OR s17.option_id = '246' OR s17.option_id = '436') AND (s18.option_id = '248' OR s18.option_id = '249' OR s18.option_id = '250' OR s18.option_id = '251' OR s18.option_id = '252' OR s18.option_id = '253' OR s18.option_id = '254' OR s18.option_id = '437') AND (s19.option_id = '256' OR s19.option_id = '257' OR s19.option_id = '258' OR s19.option_id = '259' OR s19.option_id = '260' OR s19.option_id = '261' OR s19.option_id = '262' OR s19.option_id = '263' OR s19.option_id = '264' OR s19.option_id = '265') AND (s21.option_id = '276' OR s21.option_id = '277' OR s21.option_id = '278' OR s21.option_id = '279' OR s21.option_id = '280' OR s21.option_id = '281' OR s21.option_id = '282' OR s21.option_id = '283') AND (s22.option_id = '285' OR s22.option_id = '286' OR s22.option_id = '287' OR s22.option_id = '288' OR s22.option_id = '492' OR s22.option_id = '493' OR s22.option_id = '494') AND (s23.option_id = '290' OR s23.option_id = '291' OR s23.option_id = '292' OR s23.option_id = '491' OR s23.option_id = '663') AND (s24.option_id = '294' OR s24.option_id = '295' OR s24.option_id = '296' OR s24.option_id = '297' OR s24.option_id = '298') AND (s25.option_id = '299' OR s25.option_id = '300' OR s25.option_id = '301' OR s25.option_id = '302' OR s25.option_id = '454' OR s25.option_id = '455') AND (s27.option_id = '312' OR s27.option_id = '313' OR s27.option_id = '314' OR s27.option_id = '315' OR s27.option_id = '316' OR s27.option_id = '317' OR s27.option_id = '318' OR s27.option_id = '319' OR s27.option_id = '320' OR s27.option_id = '344') AND (s29.option_id = '321' OR s29.option_id = '322' OR s29.option_id = '323' OR s29.option_id = '324' OR s29.option_id = '325' OR s29.option_id = '326' OR s29.option_id = '327' OR s29.option_id = '328' OR s29.option_id = '329' OR s29.option_id = '330') AND (s31.option_id = '333' OR s31.option_id = '334' OR s31.option_id = '335' OR s31.option_id = '336' OR s31.option_id = '337' OR s31.option_id = '338' OR s31.option_id = '339' OR s31.option_id = '341' OR s31.option_id = '342') AND (s32.option_id = '348' OR s32.option_id = '350' OR s32.option_id = '351' OR s32.option_id = '352' OR s32.option_id = '353' OR s32.option_id = '354' OR s32.option_id = '355' OR s32.option_id = '356' OR s32.option_id = '357' OR s32.option_id = '358') AND (s33.option_id = '362' OR s33.option_id = '363' OR s33.option_id = '364' OR s33.option_id = '365' OR s33.option_id = '366' OR s33.option_id = '367' OR s33.option_id = '368' OR s33.option_id = '369' OR s33.option_id = '370' OR s33.option_id = '371') AND (s35.option_id = '372' OR s35.option_id = '373' OR s35.option_id = '374' OR s35.option_id = '375' OR s35.option_id = '449' OR s35.option_id = '450' OR s35.option_id = '567' OR s35.option_id = '568' OR s35.option_id = '569' OR s35.option_id = '571') AND (s38.option_id = '376' OR s38.option_id = '377' OR s38.option_id = '378' OR s38.option_id = '379' OR s38.option_id = '380' OR s38.option_id = '381' OR s38.option_id = '382' OR s38.option_id = '383' OR s38.option_id = '384' OR s38.option_id = '385') AND (s39.option_id = '386' OR s39.option_id = '387' OR s39.option_id = '388' OR s39.option_id = '389' OR s39.option_id = '390' OR s39.option_id = '391' OR s39.option_id = '392' OR s39.option_id = '393' OR s39.option_id = '394' OR s39.option_id = '395') AND (s40.option_id = '402' OR s40.option_id = '403' OR s40.option_id = '404' OR s40.option_id = '405' OR s40.option_id = '406' OR s40.option_id = '407' OR s40.option_id = '408' OR s40.option_id = '409' OR s40.option_id = '410' OR s40.option_id = '411') AND (s41.option_id = '413' OR s41.option_id = '414' OR s41.option_id = '415' OR s41.option_id = '416' OR s41.option_id = '417' OR s41.option_id = '418' OR s41.option_id = '419') AND (s42.option_id = '421' OR s42.option_id = '422' OR s42.option_id = '423' OR s42.option_id = '424' OR s42.option_id = '425' OR s42.option_id = '426' OR s42.option_id = '427' OR s42.option_id = '453' OR s42.option_id = '641' OR s42.option_id = '643') AND (s50.option_id = '496' OR s50.option_id = '497' OR s50.option_id = '498' OR s50.option_id = '499' OR s50.option_id = '500' OR s50.option_id = '501' OR s50.option_id = '502' OR s50.option_id = '503' OR s50.option_id = '504' OR s50.option_id = '505') AND (s51.option_id = '509' OR s51.option_id = '510' OR s51.option_id = '511' OR s51.option_id = '512' OR s51.option_id = '513' OR s51.option_id = '514' OR s51.option_id = '515' OR s51.option_id = '516' OR s51.option_id = '517' OR s51.option_id = '518') AND (s53.option_id = '538' OR s53.option_id = '539' OR s53.option_id = '540' OR s53.option_id = '541' OR s53.option_id = '542' OR s53.option_id = '543' OR s53.option_id = '544' OR s53.option_id = '545' OR s53.option_id = '546' OR s53.option_id = '547') AND (s55.option_id = '4152' OR s55.option_id = '4162' OR s55.option_id = '4172' OR s55.option_id = '4182' OR s55.option_id = '4192' OR s55.option_id = '4202' OR s55.option_id = '4212' OR s55.option_id = '4222' OR s55.option_id = '4232' OR s55.option_id = '4242') AND (s58.option_id = '605' OR s58.option_id = '606' OR s58.option_id = '607' OR s58.option_id = '608' OR s58.option_id = '609' OR s58.option_id = '610' OR s58.option_id = '611' OR s58.option_id = '612' OR s58.option_id = '613' OR s58.option_id = '614') AND (s60.option_id = '682' OR s60.option_id = '683') AND users.approved = '1' AND users.deleted = '0' and users.main_photo_id !=0 AND (users.latitude > 35.3239421622 AND users.latitude < 36.1938578378) AND (users.longitude > -79.3142578966 AND users.longitude < -78.2453421034) AND users.dob > '1957-03-19' AND users.dob < '1988-03-19' AND users.id != '1' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '1') AND users.id NOT IN (SELECT user_id FROM personal_definitions_attention) ORDER BY distance ASC LIMIT 500


Ovo sam dobio od coveka koji odrzava jedan server i koji kao i ja ne moze da se nacudi koji ludak moze ovo da napise. Hajde neko ako sme neka pusti ovaj query :)

Uh, nisam dobro pogledao query, taj query izgleda sada ovako:

SELECT u.id, u.membership, FLOOR((6371.0 * acos(sin(40.7519*0.01745329252) * sin(u.latitude*0.01745329252) + cos(40.7519*0.01745329252) * cos(u.latitude*0.01745329252) * cos((-73.9954*0.01745329252)-(u.longitude*0.01745329252)))) / 1.609344) as distance FROM users u INNER JOIN users_search us ON u.id = us.user_id WHERE u.id != 1 AND u.gender = 2 AND u.seeking = 3 AND u.approved = 1 AND u.deleted = 0 AND (u.latitude > -2.7438837837838 AND u.latitude < 84.247683783784) AND (u.longitude > -131.24672706316 AND u.longitude < -16.744072936839) AND u.dob > '1909-06-19' AND u.dob < '1991-06-19' AND u.id NOT IN (SELECT user_id FROM tier_2_users where u.id= tier_2_users.user_id) AND u.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '1') AND u.id NOT IN (SELECT user_id FROM personal_definitions_rejected) AND (us.z_39 LIKE '%|386|%' OR us.z_39 LIKE '%|387|%' OR us.z_39 LIKE '%|388|%' OR us.z_39 LIKE '%|389|%' OR us.z_39 LIKE '%|390|%' OR us.z_39 LIKE '%|391|%' OR us.z_39 LIKE '%|392|%' OR us.z_39 LIKE '%|393|%' OR us.z_39 LIKE '%|394|%' OR us.z_39 LIKE '%|395|%' OR us.z_39 LIKE '%|396|%' OR us.z_39 LIKE '%|397|%' OR us.z_39 LIKE '%|398|%' OR us.z_39 LIKE '%|399|%' OR us.z_39 LIKE '%|400|%' OR us.z_39 LIKE '%|401|%' OR us.z_39 LIKE '%|486|%' OR us.z_39 LIKE '%|487|%' OR us.z_39 LIKE '%|664|%') AND (us.z_9 = 137 OR us.z_9 = 138 OR us.z_9 = 139 OR us.z_9 = 140 OR us.z_9 = 141 OR us.z_9 = 142 OR us.z_9 = 433 OR us.z_9 = 434 OR us.z_9 = 481 OR us.z_9 = 482 OR us.z_9 = 483 OR us.z_9 = 490) AND (us.z_12 = 214 OR us.z_12 = 215 OR us.z_12 = 216 OR us.z_12 = 217 OR us.z_12 = 218 OR us.z_12 = 220) AND (us.z_13 LIKE '%|221|%' OR us.z_13 LIKE '%|222|%' OR us.z_13 LIKE '%|223|%' OR us.z_13 LIKE '%|224|%' OR us.z_13 LIKE '%|225|%' OR us.z_13 LIKE '%|226|%' OR us.z_13 LIKE '%|227|%' OR us.z_13 LIKE '%|429|%' OR us.z_13 LIKE '%|435|%' OR us.z_13 LIKE '%|495|%') AND (us.z_14 = 228 OR us.z_14 = 229 OR us.z_14 = 230 OR us.z_14 = 231 OR us.z_14 = 488 OR us.z_14 = 489 OR us.z_14 = 646) AND (us.z_15 = 232 OR us.z_15 = 233 OR us.z_15 = 234 OR us.z_15 = 645) AND (us.z_16 = 238 OR us.z_16 = 239 OR us.z_16 = 240) AND (us.z_50 = 496 OR us.z_50 = 497 OR us.z_50 = 498 OR us.z_50 = 499 OR us.z_50 = 500 OR us.z_50 = 501 OR us.z_50 = 502 OR us.z_50 = 503 OR us.z_50 = 504 OR us.z_50 = 505 OR us.z_50 = 506 OR us.z_50 = 507 OR us.z_50 = 508) AND (us.z_51 LIKE '%|509|%' OR us.z_51 LIKE '%|510|%' OR us.z_51 LIKE '%|511|%' OR us.z_51 LIKE '%|512|%' OR us.z_51 LIKE '%|513|%' OR us.z_51 LIKE '%|514|%' OR us.z_51 LIKE '%|515|%' OR us.z_51 LIKE '%|516|%' OR us.z_51 LIKE '%|517|%' OR us.z_51 LIKE '%|518|%' OR us.z_51 LIKE '%|519|%' OR us.z_51 LIKE '%|647|%') AND (us.z_60 = 682 OR us.z_60 = 683) AND (us.z_17 = 242 OR us.z_17 = 243 OR us.z_17 = 244 OR us.z_17 = 245 OR us.z_17 = 246 OR us.z_17 = 436) AND (us.z_18 = 248 OR us.z_18 = 249 OR us.z_18 = 250 OR us.z_18 = 251 OR us.z_18 = 252 OR us.z_18 = 253 OR us.z_18 = 254 OR us.z_18 = 437) AND (us.z_19 = 256 OR us.z_19 = 257 OR us.z_19 = 258 OR us.z_19 = 259 OR us.z_19 = 260 OR us.z_19 = 261 OR us.z_19 = 262 OR us.z_19 = 263 OR us.z_19 = 264 OR us.z_19 = 265 OR us.z_19 = 266 OR us.z_19 = 267 OR us.z_19 = 268 OR us.z_19 = 269 OR us.z_19 = 270 OR us.z_19 = 271 OR us.z_19 = 272 OR us.z_19 = 273 OR us.z_19 = 274 OR us.z_19 = 553 OR us.z_19 = 554 OR us.z_19 = 555) AND (us.z_21 = 276 OR us.z_21 = 277 OR us.z_21 = 278 OR us.z_21 = 279 OR us.z_21 = 280 OR us.z_21 = 281) AND (us.z_22 = 285 OR us.z_22 = 286 OR us.z_22 = 287 OR us.z_22 = 288 OR us.z_22 = 492 OR us.z_22 = 493 OR us.z_22 = 494) AND (us.z_23 = 290 OR us.z_23 = 291 OR us.z_23 = 292 OR us.z_23 = 491 OR us.z_23 = 663) AND (us.z_24 LIKE '%|294|%' OR us.z_24 LIKE '%|295|%' OR us.z_24 LIKE '%|296|%' OR us.z_24 LIKE '%|297|%' OR us.z_24 LIKE '%|298|%') AND (us.z_25 = 299 OR us.z_25 = 300 OR us.z_25 = 301 OR us.z_25 = 302 OR us.z_25 = 454 OR us.z_25 = 455) AND (us.z_27 LIKE '%|312|%' OR us.z_27 LIKE '%|313|%' OR us.z_27 LIKE '%|314|%' OR us.z_27 LIKE '%|315|%' OR us.z_27 LIKE '%|316|%' OR us.z_27 LIKE '%|317|%' OR us.z_27 LIKE '%|318|%' OR us.z_27 LIKE '%|319|%' OR us.z_27 LIKE '%|320|%' OR us.z_27 LIKE '%|344|%' OR us.z_27 LIKE '%|345|%' OR us.z_27 LIKE '%|346|%' OR us.z_27 LIKE '%|347|%') AND (us.z_29 LIKE '%|321|%' OR us.z_29 LIKE '%|322|%' OR us.z_29 LIKE '%|323|%' OR us.z_29 LIKE '%|324|%' OR us.z_29 LIKE '%|325|%' OR us.z_29 LIKE '%|326|%' OR us.z_29 LIKE '%|327|%' OR us.z_29 LIKE '%|328|%' OR us.z_29 LIKE '%|329|%' OR us.z_29 LIKE '%|330|%' OR us.z_29 LIKE '%|331|%' OR us.z_29 LIKE '%|332|%' OR us.z_29 LIKE '%|456|%') AND (us.z_33 LIKE '%|362|%' OR us.z_33 LIKE '%|363|%' OR us.z_33 LIKE '%|364|%' OR us.z_33 LIKE '%|365|%' OR us.z_33 LIKE '%|366|%' OR us.z_33 LIKE '%|367|%' OR us.z_33 LIKE '%|368|%' OR us.z_33 LIKE '%|369|%' OR us.z_33 LIKE '%|370|%' OR us.z_33 LIKE '%|371|%' OR us.z_33 LIKE '%|648|%' OR us.z_33 LIKE '%|649|%' OR us.z_33 LIKE '%|650|%' OR us.z_33 LIKE '%|651|%' OR us.z_33 LIKE '%|652|%' OR us.z_33 LIKE '%|653|%' OR us.z_33 LIKE '%|654|%' OR us.z_33 LIKE '%|655|%' OR us.z_33 LIKE '%|656|%' OR us.z_33 LIKE '%|657|%' OR us.z_33 LIKE '%|658|%' OR us.z_33 LIKE '%|661|%') AND (us.z_58 LIKE '%|605|%' OR us.z_58 LIKE '%|606|%' OR us.z_58 LIKE '%|607|%' OR us.z_58 LIKE '%|608|%' OR us.z_58 LIKE '%|609|%' OR us.z_58 LIKE '%|610|%' OR us.z_58 LIKE '%|611|%' OR us.z_58 LIKE '%|612|%' OR us.z_58 LIKE '%|613|%' OR us.z_58 LIKE '%|614|%' OR us.z_58 LIKE '%|615|%' OR us.z_58 LIKE '%|616|%' OR us.z_58 LIKE '%|617|%' OR us.z_58 LIKE '%|618|%' OR us.z_58 LIKE '%|619|%' OR us.z_58 LIKE '%|620|%' OR us.z_58 LIKE '%|621|%' OR us.z_58 LIKE '%|622|%' OR us.z_58 LIKE '%|623|%' OR us.z_58 LIKE '%|624|%' OR us.z_58 LIKE '%|625|%' OR us.z_58 LIKE '%|627|%' OR us.z_58 LIKE '%|628|%' OR us.z_58 LIKE '%|630|%' OR us.z_58 LIKE '%|631|%' OR us.z_58 LIKE '%|632|%' OR us.z_58 LIKE '%|633|%' OR us.z_58 LIKE '%|634|%' OR us.z_58 LIKE '%|635|%' OR us.z_58 LIKE '%|636|%' OR us.z_58 LIKE '%|637|%' OR us.z_58 LIKE '%|639|%' OR us.z_58 LIKE '%|640|%') AND (us.z_31 LIKE '%|333|%' OR us.z_31 LIKE '%|334|%' OR us.z_31 LIKE '%|335|%' OR us.z_31 LIKE '%|336|%' OR us.z_31 LIKE '%|337|%' OR us.z_31 LIKE '%|338|%' OR us.z_31 LIKE '%|339|%' OR us.z_31 LIKE '%|341|%' OR us.z_31 LIKE '%|342|%' OR us.z_31 LIKE '%|343|%' OR us.z_31 LIKE '%|447|%' OR us.z_31 LIKE '%|448|%' OR us.z_31 LIKE '%|659|%' OR us.z_31 LIKE '%|660|%') AND (us.z_32 LIKE '%|348|%' OR us.z_32 LIKE '%|350|%' OR us.z_32 LIKE '%|351|%' OR us.z_32 LIKE '%|352|%' OR us.z_32 LIKE '%|353|%' OR us.z_32 LIKE '%|354|%' OR us.z_32 LIKE '%|355|%' OR us.z_32 LIKE '%|356|%' OR us.z_32 LIKE '%|357|%' OR us.z_32 LIKE '%|358|%' OR us.z_32 LIKE '%|360|%' OR us.z_32 LIKE '%|361|%' OR us.z_32 LIKE '%|438|%' OR us.z_32 LIKE '%|439|%' OR us.z_32 LIKE '%|440|%' OR us.z_32 LIKE '%|441|%' OR us.z_32 LIKE '%|442|%' OR us.z_32 LIKE '%|443|%' OR us.z_32 LIKE '%|444|%' OR us.z_32 LIKE '%|445|%' OR us.z_32 LIKE '%|446|%' OR us.z_32 LIKE '%|595|%' OR us.z_32 LIKE '%|596|%' OR us.z_32 LIKE '%|597|%' OR us.z_32 LIKE '%|598|%' OR us.z_32 LIKE '%|599|%' OR us.z_32 LIKE '%|600|%' OR us.z_32 LIKE '%|702|%') AND (us.z_35 LIKE '%|372|%' OR us.z_35 LIKE '%|373|%' OR us.z_35 LIKE '%|374|%' OR us.z_35 LIKE '%|375|%' OR us.z_35 LIKE '%|449|%' OR us.z_35 LIKE '%|450|%' OR us.z_35 LIKE '%|567|%' OR us.z_35 LIKE '%|568|%' OR us.z_35 LIKE '%|569|%' OR us.z_35 LIKE '%|571|%' OR us.z_35 LIKE '%|572|%' OR us.z_35 LIKE '%|573|%' OR us.z_35 LIKE '%|584|%' OR us.z_35 LIKE '%|585|%' OR us.z_35 LIKE '%|586|%' OR us.z_35 LIKE '%|588|%' OR us.z_35 LIKE '%|589|%' OR us.z_35 LIKE '%|590|%') AND (us.z_38 LIKE '%|376|%' OR us.z_38 LIKE '%|377|%' OR us.z_38 LIKE '%|378|%' OR us.z_38 LIKE '%|379|%' OR us.z_38 LIKE '%|380|%' OR us.z_38 LIKE '%|381|%' OR us.z_38 LIKE '%|382|%' OR us.z_38 LIKE '%|383|%' OR us.z_38 LIKE '%|384|%' OR us.z_38 LIKE '%|385|%' OR us.z_38 LIKE '%|452|%') AND (us.z_40 = 402 OR us.z_40 = 403 OR us.z_40 = 404 OR us.z_40 = 405 OR us.z_40 = 406 OR us.z_40 = 407 OR us.z_40 = 408 OR us.z_40 = 409 OR us.z_40 = 410 OR us.z_40 = 411 OR us.z_40 = 556 OR us.z_40 = 559 OR us.z_40 = 692) AND (us.z_41 = 413 OR us.z_41 = 414 OR us.z_41 = 415 OR us.z_41 = 416 OR us.z_41 = 417 OR us.z_41 = 418 OR us.z_41 = 419) AND (us.z_42 = 421 OR us.z_42 = 422 OR us.z_42 = 423 OR us.z_42 = 424 OR us.z_42 = 425 OR us.z_42 = 426 OR us.z_42 = 427 OR us.z_42 = 453 OR us.z_42 = 641 OR us.z_42 = 643 OR us.z_42 = 644 OR us.z_42 = 662 OR us.z_42 = 665) AND (us.z_53 LIKE '%|538|%' OR us.z_53 LIKE '%|539|%' OR us.z_53 LIKE '%|540|%' OR us.z_53 LIKE '%|541|%' OR us.z_53 LIKE '%|542|%' OR us.z_53 LIKE '%|543|%' OR us.z_53 LIKE '%|544|%' OR us.z_53 LIKE '%|545|%' OR us.z_53 LIKE '%|546|%' OR us.z_53 LIKE '%|547|%' OR us.z_53 LIKE '%|548|%' OR us.z_53 LIKE '%|549|%' OR us.z_53 LIKE '%|550|%' OR us.z_53 LIKE '%|551|%' OR us.z_53 LIKE '%|560|%') AND (us.z_55 LIKE '%|561|%' OR us.z_55 LIKE '%|562|%' OR us.z_55 LIKE '%|563|%' OR us.z_55 LIKE '%|564|%' OR us.z_55 LIKE '%|565|%') ORDER BY distance ASC, u.membership DESC LIMIT 500

Ne znam ko ga je pravio sa onih 30-ak joina.
Ne znam ko ga je pravio, mozda i boss himself, ne znam da li je dobio otkaz :1016:.
Posle su dali meni da napravim to da radi sa 100+ opcija i to tako sljaka odavno.
z_xx tabele sam denormalizovao, mozete zamisliti koliko je trebalo vremena za 50+ baza i 4+ miliona korisnika.

Ako kazete opet da nisam normalan, bacicu se sa terase (doduse nisam visoko).
Hajde sada, opalite (ali mooolim konstruktivno). :1089:

bluesman
19. 06. 2009., 11:10
Pa kako, bre, konstruktivno kada ne može živ čovek da provali šta je šta :)

Ovde očigledno treba drugačija struktura baze ako ovo baš mora da se izvršava.

dukacar
19. 06. 2009., 16:21
Pa kako, bre, konstruktivno kada ne može živ čovek da provali šta je šta :)

Ovde očigledno treba drugačija struktura baze ako ovo baš mora da se izvršava.

Znam, znam...ali verujem da sam i samim postovanjem prekrsio nekoliko stavki u ugovoru, jos kada bi opsao sve ovako javno, stvarno bih dobio otkaz (a mozda i batine :1045:).
Nisam siguran da smem cak i preko private. :1080:

jablan
19. 06. 2009., 16:45
Znam, znam...ali verujem da sam i samim postovanjem prekrsio nekoliko stavki u ugovoru,
Zipa da ti neko ne mazne query... ;)

bluesman
08. 07. 2009., 17:01
Evo još jedan query za analizu :)


| 77990524 | jsingles | 192.168.0.79:54998 | dateacougar | Query | 2 | Sending data | (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3060982' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3060982') ORDER BY photos.id
LIMIT 1
) |
| 77990536 | jsingles | 192.168.0.77:49511 | dateacougar | Query | 0 | Sending data | (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user_id = '3339312') ORDER BY photos.id
LIMIT 1
) UNION ALL (SELECT photos.id
FROM photos
INNER JOIN users ON photos.user_id = users.id
JOIN
(SELECT (RAND() *
(SELECT MAX(id)
FROM photos)) AS id) AS tmp
WHERE
photos.id >= tmp.id
AND photos.gallery = '0' AND photos.porn = '0' AND photos.approved = '1'
AND photos.public = '1' AND photos.deleted = '0' AND users.deleted = '0' AND users.gender = '1201' AND users.id != '3339312' AND users.id NOT IN (SELECT blocked_user_id FROM blocked WHERE user


kao što vidite, query se prekida kod ... "WHERE user" jer gtalk buffer ne može da primi ceo tekst :)

robi-bobi
08. 07. 2009., 19:19
vi to ozbiljno???

misk0
08. 07. 2009., 19:30
Cekaj jbte.. hoces reci da je neko napisao ovaj query? Mislim rucno?? Ne vjerujemmmmm ja sam nakon 10 redova izgubio pojam sta on hoce...

jablan
08. 07. 2009., 20:14
Nema šanse da je ručno, nego mu treba N random slika iz baze i on je nalepio N upita za dovlačenje jedne random slike. :)

bluesman
08. 07. 2009., 21:23
Mislim da je situacija slična kao do sada - ovo može biti samo neki auto generisani query, ovo živ čovek ne može da napiše u ovom obliku a da se prethodno nije nagutao magic mushrooms :)

aleksandarqm
08. 07. 2009., 21:43
:krst: Letonija zemlja obecana.
Mislim da je dovoljno ...
:1070:

e da u pitanju je for ($i=0;$i<25;$i++)

bluesman
08. 07. 2009., 21:49
Čisto informativno, zašto je 25 magičan broj?

aleksandarqm
08. 07. 2009., 21:50
Mislim da se toliko slika prikazuje na strani. Inace koliko sam upoznat kazu da je to idealno resenje :-)

Milos Vukotic
08. 07. 2009., 22:50
Taj mi Letonac počinje bivati simpatičan :D
Oplete ovakav query, zapjeva "aj did it maaaaj ueeeeej", isprži kokice i čeka da se Bluzmen javi :D

razno
09. 07. 2009., 01:26
Meni nije jasno kako ne kontaju da se ne mogu generisati toliki upiti :S

bluesman
09. 07. 2009., 01:37
Mislim da se toliko slika prikazuje na strani. Inace koliko sam upoznat kazu da je to idealno resenje :-)

Pa idealno za ubijanje servera :)

Taj mi Letonac počinje bivati simpatičan :D
Oplete ovakav query, zapjeva "aj did it maaaaj ueeeeej", isprži kokice i čeka da se Bluzmen javi :D

Znaš kako ja dobijam ove querije?
- eko cimne admina "server spor"
- admin proveri šta je - crko mysql (ili se vuče)
- pogleda slow queries i nađe ovo čudo
- ubije querije, a meni baci na gtalk "jel' možeš ti da poveruješ u ovo..." poruku

Ovaj put sam mu tražio i dokaz jer mu ne verujem više, već sam počeo da tripujem da on ima neki "bull**** query generator" samo da bi mene zezao :)

Inače ne znam ko je ovaj query pisao, odnosno čije je to idejno rešenje.

aleksandarqm
09. 07. 2009., 02:19
I mi Letonca za trku imamo :-)):1095:

jablan
09. 11. 2011., 18:57
Sorry što vaskrsavam temu, ali ovo vredi podeliti:

http://thedailywtf.com/Articles/The-Query-of-Despair.aspx

Miroslav Ćurčić
19. 12. 2011., 16:21
Evo još jednog domaćeg bisera: Dnevnik (http://www.dnevnik.rs/drustvo/porodjaj-%E2%80%9Epreko-veze%E2%80%9D)
Malo su preterali sa JOIN-ovima.

jablan
19. 12. 2011., 16:41
^ Nisam viđao ovu grešku dosad, ali kontam da im je zapravo narasla neka tabela pa se diže neki automatski performance alert zbog "previše redova u joinu", ne zato što ima previše JOIN-ova.

japan
19. 12. 2011., 17:34
Ne znam da li je domaci biser, cini mi se da je u pitanju drupal, a i greska vise upucuje na lose podesen SQL nego na los query...

squirll
19. 12. 2011., 22:36
Ja sam zasada samo na dve uzasne izvedbe naleteo,
Prvi problem je bio neki rumun koji je stavio 5GB podataka u jednu tabelu, pa opalio SELECT * from... inaravno ubije server
A drugi, veoma slicno ... milion-dva (ako ne i vise) record-sa u tabelu i isto tako select * from ... LIKE %term% AND %term1% i udri... i onda je glavna fora da je server (od osam jezgri i 16gb) slab za tu scriptu...i na moju sugestiju da je scripta lose napisana i sl odgovor je bio "a to mi ortak pravi, zna on dosta dobro sa tim, al sta ti mislis....." (tip mali radojica)

ivanhoe
19. 12. 2011., 23:25
ko nije nekad upucao bazu sa nepromisljenim upitom ne zna sta je programiranje :)

da ne pricamo kad hoces da obrise jedan record i krenes da pises DELETE FROM i onda pejstujes ime tabele, a glupi editor je kod kopiranja pokupio i new line i onda odmah izvrsi to... i ajd da mi se desilo jednom, nego bar triput do sad...

[nq]
20. 12. 2011., 01:17
evo jedan moj http://mobko.com/search/query/nokia valjda ih sad ima previse, pa glupost koju sam napisao ne moze da sazvace :)