Basit bir ürün tablosuna sahip olalım. Her bir üreticinin kendine özgü kimliği ve kategorisi vardır. Kullanıcılar kategoriye göre genellikle arama yapar, bu yüzden ürünleri kategoriye göre ayırmak istiyorum. Her bölüm bir kategoride örn.MySQL tablonun, benzersiz dizinde olmayan sütuna göre bölümlenmesi
Bunu nasıl yapacağım? Elbette kimlik sütunumda birincil anahtarım var ve kimliğime benzersiz bir şekilde ihtiyacım var. Her kategoride benzersiz değil. Ancak bu bölüm, "tablodaki her benzersiz anahtarın, tablodaki bölümleme ifadesindeki her bir sütunu kullanması gerektiği" konusunda bir sınırlama getirmiştir.
Peki, bu biraz işe yaramaz hale getirmiyor mu? Yoksa bir şey mi özlüyorum? Ne yapmalıyım?
http://dev.mysql.com/doc/refman/5.1/en/partitioning-limitations-partitioning-keys-unique-keys.html
Tabii, ama id sonra istemediğiniz, kategorisinde benzersiz ancak yalnızca tekil olmayacak. Into değiştirin o zaman çalışmayı durduracaktır. Ürün kategorisinin değişmesi durumunda ürün çoğaltılabilir. Ama neyse, cevabınız için teşekkürler. –
Hayır. Bir birincil anahtara alan eklemek, yanıtımda yazdığım gibi onu non_unique yapamaz. Neden sadece çalıştığını görmeye çalışmıyorsun? O güne bölme yapmak için büyük bir kayıt tablosunda (2 ve 5 milyon kayıt arasında) bölümleme kullandım: çok hızlı bir şekilde "SELECT" 'e izin verir ve belirli bir güne ait tüm kayıtların son derece hızlı bir şekilde silinmesini sağlar (sadece bir bölümü bırakarak)). – Jocelyn
Oh hayır, PRIMARY KEY'in hala benzersiz olacağını biliyorum. Ama şimdi sadece anahtarın bir parçası olacak olan ID, kategori sütununda farklı değer olarak benzersiz olmayı durduracaktır. Ama öyle görünüyor ki MySQL sadece böyle çalışır (çok mantıklı olmasa da) ve onunla yaşamak zorunda kalacağım. Her neyse, çaban için teşekkürler. –