{= include("docs.util"); start_docs_page(docs.technical_manual.page_titles.database_setup); =}
This document helps you decide the Best Practices for setting up your database.
Use internal database for best performance.
The “internal” database is optimized for performance and database size for $PRODUCT_NAME’s specific usage, and generally outperforms an external SQL server on equivalent hardware. However, an enterprise-scale SQL server, especially a cluster, may provide higher performance than the internal database, if the SQL server hardware is much faster than the $PRODUCT_NAME server.
When using MS SQL, performance of ODBC imports are sometimes very slow, on the order of 100 rows per second. For best performance, configure the profile to use BULK_INSERT to load data into $PRODUCT_NAME, which can run 10,000 rows per second or faster.
When using an external SQL database, $PRODUCT_NAME cannot use its efficient representation of “unique” fields like “visitors” or “sessions,” in cross-reference groups. This can make cross- reference groups very large and slow when using a high volume of data. For best performance, remove unique fields from cross-reference groups (and associated reports), or remove the cross- reference groups entirely. See below for more information on cross-reference groups.
{= pre_sales_recommended_text(); end_docs_page(); =}