Optimize performance for hybrid tables

Optimize warehouses for hybrid tables

A warehouse of size X-Small is usually a sufficient size for small operational workloads. In order to achieve higher concurrency and throughput on short running operational queries, it is recommended that you increase the compute node count by using a multi-cluster warehouse rather than increasing compute resources with a larger warehouse.

If your workload has variable throughput patterns, you can enable autoscaling to reduce consumption when demand is lower. Set the scaling policy to Standard rather than Economy for the best performance and efficiency on workloads requiring high throughput or low latency. For more information, see Setting the scaling policy for a multi-cluster warehouse.

If possible, it is best to isolate separate workloads in separate warehouses so that they can scale independently. If you have a mixed hybrid workload with operational and analytical components, it is beneficial to separate the operational and analytical components in separate warehouses. If you cannot separate them and must execute them together on the same warehouse, then choose the warehouse size based on the analytical query latency requirements and choose the multi-cluster node count based on what is required to support your workload’s throughput.

Throttling for hybrid tables

The performance of hybrid tables can be impacted by throttling even in a case where virtual warehouse compute usage is not high. To monitor your usage and determine whether a hybrid table is being throttled, see the example in AGGREGATE_QUERY_HISTORY view. You can also retrieve the number of throttled hybrid table requests from the HYBRID_TABLE_REQUESTS_THROTTLED_COUNT column.

For more information on quotas and throttling in hybrid tables, see Unsupported features and limitations for hybrid tables.

Client drivers for hybrid tables

In order to access hybrid tables, you will need to use one of the following driver versions:

Driver

Minimum Version

Go

1.6.25

JDBC

3.13.31

.Net

2.1.2

Node.js

1.9.0

ODBC

3.0.2

PHP

2.0.0

Python Connector

3.1.0

SnowSQL

1.2.28

Note

You cannot access hybrid tables using an earlier driver version.

To experience optimal performance when using hybrid tables, make sure to use the latest version for your selected driver.

Stored procedures and hybrid tables

Stored procedures are supported for hybrid tables; however, executing transactions with AUTOCOMMIT enabled or multi-statement transactions offers better performance and efficiency than calling a stored procedure.

Serverless tasks and hybrid tables

While serverless tasks are supported, be aware that you may not experience optimal performance or efficiency for workloads that use hybrid tables.