ElasticsearchIntermediateDynamic mapping made your field text, so term queries miss, and mappings can't be changed in place. Use keyword fields, then reindex behind an alias with zero downtime.
#indexing#schema-design#troubleshooting
ScyllaDBIntermediateA query without the partition key means a full cluster scan. When ALLOW FILTERING is fine, and how query-first tables, materialized views and global indexes fix the rest.
#data-modeling#indexing#nosql
Cloud FirestoreBeginnerFirestore only supports equality, ranges and array-contains. Prefix queries, keyword arrays, a synced search engine and vector search each fit a different need.
#data-modeling#indexing#nosql
MongoDBAdvancedA complete schema for a multi-tenant project tracker: collections, types, ESR indexes checked with explain(), validation, migrations, write concerns and sharding readiness.
#data-modeling#indexing#nosql
QdrantIntermediateFast until you add a filter? Create payload indexes before loading data so the filterable HNSW can use them, and set up multi-tenant collections the right way.
#indexing#performance#vector-search
SQL ServerIntermediateA query-first method: find the expensive queries, read the plan for signs the missing index DMVs never report, build the index online safely, then verify and roll back.
#execution-plans#indexing#performance
AmAmazon DynamoDBIntermediate
Scan with a FilterExpression still reads and bills every item. Use GSIs, sparse indexes and composite sort keys instead, and know when to send queries elsewhere.
#data-modeling#indexing#nosql
SQL ServerIntermediateQuery sys.dm_db_missing_index_details and its companion DMVs, read the numbers critically, find the queries behind each suggestion and merge them into the few indexes worth creating.
#db-administration#execution-plans#indexing
SQL ServerAdvancedA table-by-table workflow for tuning existing SQL Server indexes: find unused and overlapping indexes, merge them, and replace blanket rebuilds with statistics updates.
#db-administration#indexing#maintenance
PostgreSQLIntermediateThe old UUID performance problem came from UUIDv4's randomness, not UUIDs themselves. How UUIDv7 changes the trade-off, what the extra 8 bytes still cost and when to pick each.
#data-types#indexing#schema-design
MySQLIntermediatePage 1 takes 5 ms and page 5,000 takes 4 seconds. OFFSET reads and throws away every skipped row. Switch to keyset (cursor) pagination for constant-time pages.
#indexing#pagination#performance