Cara Mempercepat Report Query Excel

 Assalamualaikum warahmatullahi wabarakatuh, Pada kesempatan pertama ini, saya ingin membahas topik terkait odoo, yaitu cara mempercepat tampilnya hasil report yang menggunakan query..

Disini akan saya skip untuk querynya,  jadi langsung melakukan looping querynya

batch_size = 1000  # Sesuaikan ukuran batch sesuai kebutuhan Anda
batch_data = []

for i, rec in enumerate(result):
            row_data = [
                rec.get('brand_code') or '',
                rec.get('barcode') or '',
                rec.get('nama_barang') or '',
                rec.get('default_code') or '',
                rec.get('complete_name') or '',
            ]

            batch_data.append(row_data)

            if len(batch_data) >= batch_size:
                for data_row in batch_data:
                    sheet.write_row(row, 0, data_row, text_style)
                    row += 1
                batch_data = []

        # Tulis data yang tersisa
        for data_row in batch_data:
            sheet.write_row(row, 0, data_row, text_style)
            row += 1


kode diatas adalah hasil setelah kita buat. jadi tujuan kode diatas adalah membatch atau memporsikan hasil query ke dalam batch size, nah kebetulan batch size saya definisikan 1000 ( ini bisa bebas terserah ). jadi jika data ada 3200 nah yang kelipatan 1000 akan masuk ke looping yang pertama, nah untuk sisanya yaitu 200 akan masuk ke looping yang ke 2 yaitu data tersisa.

parameter result adalah query yang sudah di dictfetchall().

nah kode diatas sangat memangkas waktu dalam hal print banyak data.




Cara restore DB lewat terminal pada Macbook Air M1