Persyaratan saya adalah:
- Harus dapat menambahkan secara dinamis bidang yang ditentukan pengguna dari semua tipe data
- Harus dapat meminta UDF dengan cepat
- Harus dapat melakukan perhitungan pada UDF berdasarkan tipe data
- Harus dapat mengurutkan UDF berdasarkan tipe data
Informasi lainnya:
- Saya mencari kinerja terutama
- Ada beberapa juta catatan Master yang dapat dilampirkan data UDF
- Ketika saya terakhir memeriksa, ada lebih dari 50 juta catatan UDF di database kami saat ini
- Sebagian besar waktu, UDF hanya melekat pada beberapa ribu catatan Master, tidak semuanya
- UDF tidak digabungkan atau digunakan sebagai kunci. Itu hanya data yang digunakan untuk kueri atau laporan
Pilihan:
Buat tabel besar dengan StringValue1, StringValue2 ... IntValue1, IntValue2, ... dll. Saya benci ide ini, tetapi akan mempertimbangkannya jika seseorang dapat mengatakan kepada saya bahwa itu lebih baik daripada ide-ide lain dan mengapa.
Buat tabel dinamis yang menambahkan kolom baru sesuai permintaan sesuai kebutuhan. Saya juga tidak menyukai ide ini karena saya merasa kinerja akan lambat kecuali Anda mengindeks setiap kolom.
Buat tabel tunggal yang berisi UDFName, UDFDataType, dan Value. Saat UDF baru ditambahkan, hasilkan Tampilan yang menarik hanya data itu dan mem-parsingnya ke jenis apa pun yang ditentukan. Item yang tidak memenuhi kriteria parsing mengembalikan NULL.
Buat beberapa tabel UDF, satu per tipe data. Jadi kita akan memiliki tabel untuk UDFStrings, UDFDates, dll. Mungkin akan melakukan hal yang sama seperti # 2 dan menghasilkan otomatis Tampilan kapan saja bidang baru ditambahkan
XML DataTypes? Saya belum pernah bekerja dengan ini sebelumnya tetapi telah melihat mereka disebutkan. Tidak yakin apakah mereka memberi saya hasil yang saya inginkan, terutama dengan kinerja.
Sesuatu yang lain