Re: Index Problemi

Lists: Postg젠 토토SQL :
From: "Esref Atak" <esrefatak(at)gmail(dot)com>
To: PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)postgresql(dot)org>
Subject: ORDER BY 2
Date: 2006-03-02 11:53:29
Message-ID: b0e445b30603020353k77306ab0rb5611d36c159cdd2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

Merhaba,

Oracle'da olmayan ama PostgreSQL, Firebird/Interbase ve MS SQL Server
veritabanlarında olan bir özellik vardır:

select aciklama, basla_tar, son_tar
from cms_1_tr.anket
order by 2

ifadesi ile

select aciklama, basla_tar, son_tar
from cms_1_tr.anket
order by basla_tar

ifadesi aynı işi yapar. Yani; alanın, kayıt kümesindeki sırasını belirtmek
suretiyle sıralama yaptırtabilirsiniz. Bu özelliğin PostgreSQL'de de
olduğunu müşahede etmekten memnun oldum. FAkat, nedense, bu özellikler
belgelendirilmiyor ve bu özellik üzerinden pek örnek de verilmiyor. Acaba
bu özellik ile sözü olan var mı? Kullanmanın bir sakıncası var mıdır mesela?

--
Saygılar,
Eşref Atak


From: Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr>
To: Esref Atak <esrefatak(at)gmail(dot)com>
Cc: PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: ORDER BY 2
Date: 2006-03-02 15:05:18
Message-ID: 20060302150517.GA18599@alamut
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

On Mar 02 01:53, Esref Atak wrote:
> Oracle'da olmayan ama PostgreSQL, Firebird/Interbase ve MS SQL Server
> veritabanlarında olan bir özellik vardır:
>
> select aciklama, basla_tar, son_tar
> from cms_1_tr.anket
> order by 2
>
> ...
>
> Fakat, nedense, bu özellikler
> belgelendirilmiyor ve bu özellik üzerinden pek örnek de verilmiyor. Acaba
> bu özellik ile sözü olan var mı? Kullanmanın bir sakıncası var mıdır mesela?

Bu özellik SQL-92 standartında deprecated olarak işaretlenmiştir.
Dolayısı ile SQL-99 standartında yer almıyor. (Bildiğim kadarı ile.) Bu
sebeple, PostgreSQL'in resmi dökümantasyonunda bahsi geçmiyor olması
gayet mantıklı. (Aslında tam bir cevap için cvs log çıktılarını
karıştırmak lazım ama ben üşeniyorum.)

İyi çalışmalar.


From: Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr>
To: Esref Atak <esrefatak(at)gmail(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: ORDER BY 2
Date: 2006-03-02 16:21:06
Message-ID: 20060302162106.GA19333@alamut
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

On Mar 02 05:12, Esref Atak wrote:
> Bu benim için önemli olduğu için ben araştırmak istiyorum. Ne olarak geçer
> bu özellik? Anahtar kelimeler nelerdir?

GROUP BY hakkında ayrıntılı bilgi için SELECT ifadesinin SQL
standartlarında yer alan yapısını incelemeniz yeterli.

> Ve bu 99 standardın sayfasını da söylerseniz memnun olurum

"Developer's Frequently Asked Questions (FAQ) for PostgreSQL"
sayfasından "1.16) Where can I get a copy of the SQL standards?"
maddesinde ayrıntılı bir açıklama yer alıyor.

İyi çalışmalar.


From: "Esref Atak" <esrefatak(at)gmail(dot)com>
To: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: ORDER BY 2
Date: 2006-03-03 00:30:32
Message-ID: b0e445b30603021630ve97c575j33c70e152cd98429@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

On 3/2/06, Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr> wrote:
>
> On Mar 02 05:12, Esref Atak wrote:
> > Bu benim için önemli olduğu için ben araştırmak istiyorum. Ne olarak
> geçer
> > bu özellik? Anahtar kelimeler nelerdir?
>
> GROUP BY hakkında ayrıntılı bilgi için SELECT ifadesinin SQL
> standartlarında yer alan yapısını incelemeniz yeterli.
>
> > Ve bu 99 standardın sayfasını da söylerseniz memnun olurum
>
> "Developer's Frequently Asked Questions (FAQ) for PostgreSQL"
> sayfasından "1.16) Where can I get a copy of the SQL standards?"
> maddesinde ayrıntılı bir açıklama yer alıyor.

İnceledim. Daha önce hiç, bir SQL Standardı belgesini incelememiştim ama,
anladığım kadarıyla, gerçekten de SQL 99'da bu özellik belgelendirilmemiş.
92'de var ama 99'da yok. Şimdi SQL 2003'e baktım ama onda da
belgelendirilmemiş (handi belki pişman olup geri koymuşlardır diye baktım!
):

<sort specification list> ::=
<sort specification> [ { <comma> <sort specification> }... ]
<sort specification> ::=
<sort key> [ <ordering specification> ] [ <null ordering> ]
<sort key> ::= <value expression>
<ordering specification> ::=
ASC
| DESC

<null ordering> ::=
NULLS FIRST
| NULLS LAST

şeklinde geçiyor. Bu arada, farketmişsinizdir, 2003 standardına göre, ORDER
BY ifadesine NULLS FIRST | NULLS LAST özelliği geliyor. Kim bilir, belki de
bu özelliği Türkiye'de ilk öğrenenlerden biri ben olmuşumdur :)

Fakat, sütunun sıra numarasına göre sıralama yapma özelliğinin, SQL
standartlarından kaldırılmış olması, PostgreSQL'den de kaldırılacağı
anlamına gelir mi acaba? Bir başka ifadeyle, ilave bir özellik sunarsa,
PostgreSQL, SQL standardına uymuyor demek mi olur? Ayrıca, geriye dönük
uyumluluk diye bir mesele de var. Acaba, bunu PostgreSQL gruplarından birine
sormamda bir mahsur olur mu?

Gelecek sürümlerde bu özelliğin kaldırılmasına dair bir değişiklik var mı
gündeminizde? Kaldırılması muhtemel mi?

diye sormak istiyorum da.

--
Saygılar,
Eşref Atak


From: Devrim GUNDUZ <devrim(at)commandprompt(dot)com>
To: Esref Atak <esrefatak(at)gmail(dot)com>
Cc: PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)PostgreSQL(dot)org>
Subject: Re: ORDER BY 2
Date: 2006-03-03 00:42:07
Message-ID: 1141346528.10718.0.camel@evim.gunduz.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

Merhaba,

On Fri, 2006-03-03 at 02:30 +0200, Esref Atak wrote:
>
> Gelecek sürümlerde bu özelliğin kaldırılmasına dair bir değişiklik var
> mı gündeminizde? Kaldırılması muhtemel mi?

Bence çok dillendirmeden olayı, kullanın siz bu özelliği. Maazallah Tom
Lane duyarsa 2 dk içinde PostgreSQL'in kaynak kodunu tarayıp bir seferde
kaldırabilir. :)

--
The PostgreSQL Company - Command Prompt, Inc. 1.503.667.4564
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: PL/php, plPerlNG - http://www.commandprompt.com/


From: Ahmet SAVAŞ <ahmet_savas(at)yahoo(dot)com>
To: "Esref Atak" <esrefatak(at)gmail(dot)com>, PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: ORDER BY 2
Date: 2006-03-10 15:57:03
Message-ID: 000d01c6445b47533001a8c0@ad.turksat.com.tr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

Sanırım yanlış biliyorsunuz, aynı özellik oracle'da da var.
----- Original Message -----
From: Esref Atak
To: PostgreSQL Türkiye -Genel
Sent: Thursday, March 02, 2006 1:53 PM
Subject: [pgsql-tr-genel] ORDER BY 2

Merhaba,

Oracle'da olmayan ama PostgreSQL, Firebird/Interbase ve MS SQL Server veritabanlarında olan bir özellik vardır:

select aciklama, basla_tar, son_tar
from cms_1_tr.anket
order by 2

ifadesi ile

select aciklama, basla_tar, son_tar
from cms_1_tr.anket
order by basla_tar

ifadesi aynı işi yapar. Yani; alanın, kayıt kümesindeki sırasını belirtmek suretiyle sıralama yaptırtabilirsiniz. Bu özelliğin PostgreSQL'de de olduğunu müşahede etmekten memnun oldum. FAkat, nedense, bu özellikler belgelendirilmiyor ve bu özellik üzerinden pek örnek de verilmiyor. Acaba bu özellik ile sözü olan var mı? Kullanmanın bir sakıncası var mıdır mesela?

--
Saygılar,
Eşref Atak


From: "Esref Atak" <esrefatak(at)gmail(dot)com>
To: Ahmet SAVAŞ <ahmet_savas(at)yahoo(dot)com>
Cc: PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: ORDER BY 2
Date: 2006-03-10 16:41:16
Message-ID: b0e445b30603100841y3801d358n3ccdb3179087661a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg사설 토토 사이트SQL

On 3/10/06, Ahmet SAVAŞ <ahmet_savas(at)yahoo(dot)com> wrote:
>
> Sanırım yanlış biliyorsunuz, aynı özellik Oracle'da da var.
>

Evet, hakikaten varmış...

Hatırladığım kadarıyla, Oracle 8i'de bu özellik yoktu. Zira, biz bu özelliği
8i'de denemiştik. Eski bir uygulamaydı çünkü. Sonradan gelmiş olabilir belki
bu özellik. Hatta belki hataen bile bu yargıya varmış da olabiliriz...

Neyse, artık Oracle'da hangi özelliğin olduğunu pek merak etmiyorum zaten.
Herşey o kadar hızlı gelişti ki... Siteler PostgreSQL ile çalışıyor artık.
Çok tuhaf bir his... :)

Yine de, bu düzeltme için teşekkür ederim Ahmet Bey.

--
Saygılar,
Eşref Atak


From: Ahmet SAVAŞ <ahmet_savas(at)yahoo(dot)com>
To:
Cc: PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Index Problemi
Date: 2006-03-20 07:30:00
Message-ID: 00c301c64bf0ee432001a8c0@ad.turksat.com.tr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

İki tane tablo var.
Bir tablo diğerinin ayrıntılarının olduğu bir tablo. Ana tabloda tarih bir alan var. Join yapmadan where'e tarih kriteri koyunca index kullanılıyor. Ancak iki tabloyu join yapıp yine where kısmında tarih kriteri kullanınca tarih index'i kullanılmıyor ve sorgu acayip yavaş geliyor. Neden olabilir?


From: Mustafa Yörükoğlu <Mustafa(at)Yorukoglu(dot)name(dot)tr>
To: Ahmet SAVAŞ <ahmet_savas(at)yahoo(dot)com>
Cc: PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: Index Problemi
Date: 2006-03-20 08:08:01
Message-ID: 441E62E1.5090809@Yorukoglu.name.tr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg윈 토토SQL :

tarih kısıtlamasını join..on kısmına koymayı deneyebilirsin.

Mustafa.

Ahmet SAVAŞ wrote, On 20.03.2006 09:30:
> İki tane tablo var.
> Bir tablo diğerinin ayrıntılarının olduğu bir tablo. Ana tabloda tarih
> bir alan var. Join yapmadan where'e tarih kriteri koyunca index
> kullanılıyor. Ancak iki tabloyu join yapıp yine where kısmında tarih
> kriteri kullanınca tarih index'i kullanılmıyor ve sorgu acayip yavaş
> geliyor. Neden olabilir?


From: "Adnan DURSUN" <a_dursun(at)hotmail(dot)com>
To: Ahmet SAVAŞ <ahmet_savas(at)yahoo(dot)com>
Cc: PostgreSQL Türkiye -Genel <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: Index Problemi
Date: 2006-03-20 08:31:32
Message-ID: BAY106-DAV5A26DCD0D92C4E3A87F3CFADB0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg윈 토토SQL :


Muhtemelen verdiğiniz tarih kriteri , çok fazla kayıt gelmesine neden oluyordur. Tarih aralığı veriyorsanız, aralığı biraz azaltarak sorunu çözebilirsiniz.
Unutmayın, index kullanmanın da bir maliyeti vardır veritabanı için. Hem index ve hem de daha segmentlerini okuması gerekir. Bu yüzden seçiciliği yüksek
olan sorgularda optimizer bunu hesaba katar.

İyi Çalışmalar


Adnan DURSUN
ASRIN Bilişim Ltd.
----- Original Message -----
From: Ahmet SAVAŞ
Cc: PostgreSQL Türkiye -Genel
Sent: Monday, March 20, 2006 9:30 AM
Subject: [pgsql-tr-genel] Index Problemi

İki tane tablo var.
Bir tablo diğerinin ayrıntılarının olduğu bir tablo. Ana tabloda tarih bir alan var. Join yapmadan where'e tarih kriteri koyunca index kullanılıyor. Ancak iki tabloyu join yapıp yine where kısmında tarih kriteri kullanınca tarih index'i kullanılmıyor ve sorgu acayip yavaş geliyor. Neden olabilir?


From: Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr>
To: Ahmet SAVAŞ <ahmet_savas(at)yahoo(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: Index Problemi
Date: 2006-03-20 09:26:40
Message-ID: 20060320092640.GA208@alamut
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg젠 토토SQL :

Merhaba,

On Mar 20 09:30, Ahmet SAVAŞ wrote:
> İki tane tablo var.
> Bir tablo diğerinin ayrıntılarının olduğu bir tablo. Ana tabloda
> tarih bir alan var. Join yapmadan where'e tarih kriteri koyunca
> index kullanılıyor. Ancak iki tabloyu join yapıp yine where
> kısmında tarih kriteri kullanınca tarih index'i kullanılmıyor ve
> sorgu acayip yavaş geliyor. Neden olabilir?

Adnan Bey'in INDEX kullanımı ile ilgili olarak söyledikleri doğru
olmakla birlikte, bize tablo yapınız hakkında biraz daha bilgi verip
her iki sorgunun EXPLAIN ANALYZE çıktılarını gönderebilirseniz
sanırım daha fazla yardımcı olabiliriz.

İyi çalışmalar.