DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   Najgori SQL query na svetu (http://www.devprotalk.com/showthread.php?t=4920)

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

Citat:

Originalno napisao bluesman (Napišite 70431)
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:

Citat:

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:
Citat:

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:

Citat:

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.

Citat:

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

Citat:

Originalno napisao bluesman (Napišite 70659)
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

Citat:

Originalno napisao jablan (Napišite 70661)
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
Kôd:

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

Citat:

Originalno napisao bluesman (Napišite 70659)
............. 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

Citat:

Originalno napisao bluesman (Napišite 70673)
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

Off Topic: 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

Citat:

Originalno napisao bluesman (Napišite 70673)
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

Citat:

Originalno napisao bluesman (Napišite 52834)
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

Citat:

Originalno napisao bluesman (Napišite 52834)
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

Citat:

Originalno napisao bluesman (Napišite 70834)
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

Citat:

Originalno napisao dukacar (Napišite 70850)
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 :)

Citat:

| 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

Citat:

Originalno napisao aleksandarqm (Napišite 71336)
Mislim da se toliko slika prikazuje na strani. Inace koliko sam upoznat kazu da je to idealno resenje :-)

Pa idealno za ubijanje servera :)

Citat:

Originalno napisao Milos Vukotic (Napišite 71339)
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-...f-Despair.aspx

Miroslav Ćurčić 19. 12. 2011. 16:21

Evo još jednog domaćeg bisera: Dnevnik
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.


Vreme je GMT +2. Trenutno vreme je 03:53.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.