Viedumu Vietne ar Sandi

2007-01-16

Orākļa vorkaraunds

Filed under: Tech — Sandis @ 19:17

Tā kā es jau kuro reizi meklēju šo lietu, pierakstu, lai trenētu pats savu atmiņu un atstātu linku.

MySql ir tāda brīnišķīga lieta kā LIMIT 10,10, kas atlasa ierakstus no 10 līdz 20.

Orāklī ir briesmīga pseidokolonna ROWNUM, kura parastā SQL darbojas aptuveni šādi select * from table where rownum < 10 . Diemžēl nav iespējams taisīt rownum > 10 and rownum < 20. Iespējams tikai rownum < 10 vai rownum <= 10

Workaraunds:
taisam selektu selektā –

SELECT * FROM (
SELECT value,value,rownum as rnum FROM table
) WHERE rnum BETWEEN 10 AND 20

Sourss

Advertisements

5 komentāri »

  1. 1) LIMIT 10,20??

    2) no 10 liidz 20??

    3) rownum > 10 and rownum

    Komentārs by TheVAL — 2007-01-16 @ 20:26

  2. LIMIT 10,20 atlasa ierakstus no 10 līdz 29, nevis no 10 līdz 20. Bet tas tā… Neesmu ar Oracle nekad ņēmies (bet ir bijusi darīšana ar MSSQL, kur arīdzan nav LIMIT klauses), bet man ir baigā aizdoma, ka šāds kverijs būs šausmīgi lēns, jo praktiski nozīmē, ka ir jāielasa atmiņā trīs kolonas no visas tabulas (un ja nu mums tur 10 miljoni ierakstu?), no kā pēc tam tiek taisīts gala SELECTs.

    Komentārs by Kristaps Kaupe — 2007-01-16 @ 21:21

  3. hei, hei, hei, mans ieraksts ir apgriezts!! Njaa, tur veel bija ~ shaads turpinaajums..:

    4) SELECT value, value??

    Izskataas, ka kaads te ir paarkaapis sava zobaarsta uzliktos ierobezhojumus attieciibaa uz pieljaujamajiem alhoholiskajiem dzeerieniem.. 😉

    Komentārs by TheVAL — 2007-01-16 @ 23:13

  4. un pie 3. punkta veel beigas truukst..:

    3) rownum > 10 and rownum

    Komentārs by TheVAL — 2007-01-16 @ 23:14

  5. taisnība ir par to LIMIT 10,20, būs no 10 līdz 29 ierakstam. to es tā ātrumā ievadam.

    atbildot uz Kristapa jautājumu, izskatās, ka viss darbojas daudz ātrāk. runa ir par Oracle procedūrām – datu apmaiņa starp sql pieprasītāju un datubāzi notiek vienā vietā, kas nosūta savāktos rezultātus datu pieprasītājam, tādējādi ieekonomējas apstrādājamo rezultātu skaits.

    Komentārs by Sandis — 2007-01-17 @ 0:47


RSS feed for comments on this post. TrackBack URI

Komentēt

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Mainīt )

Twitter picture

You are commenting using your Twitter account. Log Out / Mainīt )

Facebook photo

You are commenting using your Facebook account. Log Out / Mainīt )

Google+ photo

You are commenting using your Google+ account. Log Out / Mainīt )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: