2016-04-05 14 views
1

3 tabloya çoktan çoğa bir ilişki veritabanım var. Verileri tablolara, özellikle birleştirme tablosuna yüklemek çok yavaş. 3 milyonlarca satır için birkaç saat.tablolar ne zaman dizin eklensin?

Önce dizin oluşturmadan tabloları oluşturmam önerildi. Hibernate kullanıyorum. Sınıflarda indise ek açıklama yapmazsam, endeks eklemenin en iyi zamanı ve yolu nedir? SQL deyimini kullanarak doğrudan MySQL veritabanında yapmalı mıyım? Ya da yükleme performansı etkilemeden, endeks Hazırda bir yerde eklenmelidir?

+0

İki ayrı kavramın kafa karıştırıcı olabileceğini düşünüyorsanız; Bir endeks bir ipucu ile aynı değildir. Bazı indeksler eklemeniz gerekir, ancak muhtemelen herhangi bir ipucu eklememelisiniz. – ruakh

+0

Veri yükleme çok yavaşsa, dizin eklemek için en uygun yer ve saat ne zaman? – user697911

cevap

1

CREATE INDEX deyimini kullanarak dizinleri doğrudan MySQL veritabanına eklemelisiniz. Çok büyük bir tablonuz varsa, uygulamanızın engellenmesini engellemek için pt-online-schema-change'u kullanabilirsiniz.

İlgili konular