SORU
21 ŞUBAT 2009, CUMARTESİ


n seçin mysql son satır

Dizin (otomatik artış) ve tamsayı değeri olan bir tablo var. Tablo satır uzun milyonlarca.

Nasıl eğer belli sayıda tablonun son n sıra en verimli şekilde görünüyorsa arama yapabilir miyim?

CEVAP
22 ŞUBAT 2009, Pazar


Bir kaç değişiklik ile answer @tarafından verilen kaostan, ama başlangıç:

  • Her zaman LIMIT kullanıyorsanız ORDER BY kullanmalısınız. Örtülü düzen İÇERİSİNDE bir tablo için garantisi yok. Olabilirgenelliklebirincil anahtarın sırayla satır olsun, ama ne de taşınabilir bu itimat edemezsin.

  • Sana göre azalan sırada, önceden masa satır sayısını bilmek gerekmez.

  • Bir vermelisinizkorelasyon adıtüretilmiş bir tablo (aka tablo diğer adı).

İşte sorgu benim sürümü:

SELECT `id`
FROM (
    SELECT `id`, `val`
    FROM `big_table`
    ORDER BY `id` DESC
    LIMIT $n
) AS t
WHERE t.`val` = $certain_number;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • kndx

    kndx

    11 Mart 2006