大查询花费的时间过长,无法进行简单查询

时间:2019-10-24 13:07:17

标签: google-bigquery

简单计数查询需要花费相当长的时间才能完成。 我在做错什么吗?

@api.multi
def affect_sku(self):
    _logger.info("running affect_sku")
    Product = self.env['product.product']
    _logger.info("Model ::: %s" % Product)
    product_ids = Product.search([('active', '=', True), ('default_code', '=', '')])
    _logger.info("Les Produits ::: %s " % product_ids)
    if product_ids:
        for product_id in product_ids:
            _logger.info("Product id : %s" % product_id)
            product = Product.browse(product_id.id)
            _logger.info("Old Product default code : %s" % product.default_code)
            x = self.randomStringDigits(13)
            y = self.env['product.product'].search([('active', '=', True), ('default_code', '=', x)])
            _logger.info("y = %s" % y)
            while y :
                x = self.randomStringDigits(13)
                y = self.env['product.product'].search([('active', '=', True), ('default_code', '=', x)])
            product.default_code = x
            _logger.info("SKU de %s : %s" % (product.id, product.default_code))

(如果来自bigquery的人听到此消息: 工作编号:southamerica-east1.bquxjob_6a6df24d_16dfdbe0b54)

1 个答案:

答案 0 :(得分:0)

如注释中所述,有多种原因导致查询在BigQuery中运行缓慢的原因-如果您的表是外部表,也可能会引起问题。如果时间安排对您很关键,并且查询非常简单,则您可能需要考虑使用Cloud SQL(这是一个实时数据库)。

BigQuery通常用于对非常大的数据集进行较大且更复杂的查询。如果您有支持包,则可能需要与Google Cloud支持团队联系以查询查询,以了解其运行如此缓慢的原因。

如果您只想知道行数,另一种解决方法是查询元数据:

SELECT table_id, row_count, size_bytes
FROM `PROJECT_ID.DATASET.__TABLES__` where table_id = 'your_table'