32 lines
1.7 KiB
MySQL
32 lines
1.7 KiB
MySQL
|
|
-- Database Performance Optimization: Additional Indexes
|
||
|
|
-- Focus: Speed up frequently queried fields
|
||
|
|
|
||
|
|
-- Products: Add missing indexes for common queries
|
||
|
|
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_products_slug ON products(slug) WHERE isactive = true;
|
||
|
|
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_products_active_featured ON products(isactive, isfeatured) WHERE isactive = true AND isfeatured = true;
|
||
|
|
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_products_active_category ON products(isactive, category) WHERE isactive = true;
|
||
|
|
|
||
|
|
-- Blog: Add slug index for single post queries
|
||
|
|
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_blogposts_slug ON blogposts(slug) WHERE ispublished = true;
|
||
|
|
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_blogposts_published ON blogposts(ispublished, createdat DESC) WHERE ispublished = true;
|
||
|
|
|
||
|
|
-- Portfolio: Add composite index for common query patterns
|
||
|
|
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_portfolio_active_display ON portfolioprojects(isactive, displayorder, createdat DESC) WHERE isactive = true;
|
||
|
|
|
||
|
|
-- Analyze tables to update statistics for query planner
|
||
|
|
ANALYZE products;
|
||
|
|
ANALYZE product_images;
|
||
|
|
ANALYZE blogposts;
|
||
|
|
ANALYZE portfolioprojects;
|
||
|
|
ANALYZE pages;
|
||
|
|
|
||
|
|
-- Add database-level connection pooling settings for better performance
|
||
|
|
ALTER DATABASE skyartshop SET random_page_cost = 1.1; -- SSD optimization
|
||
|
|
ALTER DATABASE skyartshop SET effective_cache_size = '2GB'; -- Assume 2GB available for caching
|
||
|
|
ALTER DATABASE skyartshop SET shared_buffers = '512MB'; -- Increase shared buffer
|
||
|
|
ALTER DATABASE skyartshop SET work_mem = '16MB'; -- Increase work memory for sorting
|
||
|
|
ALTER DATABASE skyartshop SET maintenance_work_mem = '128MB'; -- For VACUUM and CREATE INDEX
|
||
|
|
|
||
|
|
-- Vacuum analyze to reclaim space and update statistics
|
||
|
|
VACUUM ANALYZE;
|