LogIn
I don't have account.
Sponsored -55%
Tarkan Top Brand

Tarkan Portable Folding Laptop Desk with Drawer, Cup & Tablet Holder (Black)

Foldable · Anti-slip strip · 60 × 40 cm · No assembly

★★★★★ 4.2 (7,877) 1K+ bought last month
₹899 M.R.P. ₹1,999Save ₹1,100
Buy Now
Adℹ

If You Join 10 Tables in an SQL Query, How Would You Optimize Performance?

Elias Sterling
34 Views

#optimization

#performance

Amazon Pay offer
Adℹ

Joining 10 tables in a single SQL query is a classic this might work… until it doesn’t situation. It can be perfectly valid in a well-designed schema, but it can also turn into a performance bottleneck if the optimizer is forced into large intermediate result sets, missing indexes or inefficient join ordering.

Start with the Execution Plan, Not the Query

The first and most important step is to inspect the query execution plan using tools like EXPLAIN or EXPLAIN ANALYZE. This shows how the database engine actually intends to join the tables, which indexes it uses and where it is spending most of its time.

In many cases, performance problems are not caused by 10 joins themselves, but by a few inefficient operations like full table scans or bad join order selection. Once you see the execution plan, you can identify whether the bottleneck is I/O, CPU or memory pressure.

Ensure Proper Indexing on Join Keys

When you join multiple tables, the most critical factor is whether the join columns are indexed properly. Each foreign key used in a join should typically have an index, otherwise the database may fall back to nested loop scans or full scans.

For example, if you are joining Orders, Customers and Payments, then columns like Orders.CustomerId or Payments.OrderId should be indexed. Without these indexes, the cost of joining grows exponentially as table size increases.

In high-performance systems, composite indexes may also be required when joins involve multiple columns or filters applied together. Proper indexing alone can often reduce query time from seconds to milliseconds.

Reduce the Dataset Early (Filter Before You Join)

One of the most effective optimizations is reducing the amount of data as early as possible in the query execution process. Instead of joining all 10 tables and then applying filters at the end, you should ensure that filtering happens at the source tables before large joins are formed.

For example, applying date filters, status filters or region filters early can significantly reduce intermediate result sizes. Smaller datasets mean fewer rows being carried through each join stage, which directly reduces CPU and memory usage.

In complex queries, derived tables or CTEs can help isolate filtered datasets before joining them together.

Be Careful with Join Order and Cardinality

Modern databases like PostgreSQL, SQL Server and MySQL have optimizers that automatically reorder joins based on statistics. However, the optimizer is only as good as the statistics it has.

If statistics are outdated or inaccurate, the engine might choose a suboptimal join order, such as joining large tables first instead of filtering small selective tables first. This can explode intermediate row counts and slow down the entire query.

Maintaining up-to-date statistics and understanding table cardinality (how many rows each join produces) is essential when dealing with large multi-join queries.

Avoid Selecting Unnecessary Columns

When joining 10 tables, it is common to accidentally select far more data than required. This increases memory consumption, network transfer cost and sorting overhead.

Instead of using SELECT *, you should explicitly select only required columns. This becomes especially important when large text or JSON columns are involved, as they significantly increase row size and slow down query execution. Reducing projection size often has a surprisingly large impact on performance in join-heavy queries.

Consider Breaking the Query into Stages

If a query becomes too complex with 10 joins, it may be more efficient to break it into intermediate steps using temporary tables or materialized views.

This approach allows the database to:

  • Store intermediate results
  • Reuse computed datasets
  • Avoid recomputing expensive joins repeatedly

In reporting systems or analytics workloads, materialized views can drastically improve performance when the same joins are executed frequently.

However, this should be balanced against storage overhead and data freshness requirements.

Use Proper Join Types Intentionally

Choosing the correct join type also matters significantly. An unnecessary LEFT JOIN when an INNER JOIN is sufficient can increase the amount of data processed.

Similarly, outer joins across multiple tables can cause row multiplication if not carefully controlled. This can lead to unexpectedly large intermediate datasets that degrade performance. Understanding data relationships ensures that joins are semantically correct and performance-efficient.

Denormalization in Extreme Cases

When queries consistently require joining many tables for read-heavy workloads, it may indicate that the schema is too normalized for that access pattern.

In such cases, controlled denormalization can be a practical optimization. This might involve:

  • Pre-joining frequently accessed tables
  • Creating reporting tables
  • Using read-optimized replicas or materialized datasets

This is common in analytics systems where query speed matters more than strict normalization.

Use Query Caching and Read Replicas When Applicable

For systems with repeated queries (dashboards, APIs), caching at the database or application level can eliminate the need to repeatedly execute expensive 10-table joins.

Additionally, using read replicas can offload heavy analytical queries from the primary database, improving overall system stability.

Final Thought

Joining 10 tables is not inherently bad. it is often a symptom of a complex domain model or reporting requirement. The real optimization challenge lies in ensuring that each join is necessary, indexed, filtered early and executed in the most efficient order possible.

In practice, high-performing systems rarely rely on a single giant query. Instead, they combine good schema design, selective joins, proper indexing and sometimes precomputed data structures to keep performance predictable even as complexity grows.

Responses (0)

Write a response

CommentHide Comments

No Comments yet.

"},"4":{"id":4,"name":"ZEBRONICS Blanc mouse ad","otherData":"{}","contentFormat":2,"content":"
Sponsored -53%
Zebronics #1 Best Seller

ZEBRONICS Blanc Slim Wireless Mouse — Rechargeable, BT + 2.4GHz (Black)

Up to 1600 DPI · Silent clicks · 63g · Multicolor LED

★★★★★ 4.0 (9,512) 5K+ bought last month
₹376 M.R.P. ₹799Save ₹423
Buy Now
"},"2":{"id":2,"name":"Crousal Ads","otherData":"{}","contentFormat":2,"content":"
Sponsored -34%
iQOO Amazon's Choice

iQOO Z10 Lite 5G — Cyber Green, 4GB RAM, 128GB Storage

Dimensity 6300 · 50MP Sony AI Camera · 6000 mAh · IP64

★★★★★ 4.0 (2,052) 500+ bought last month
₹18,997 M.R.P. ₹28,999Save ₹10,002
Buy Now
"},"1":{"id":1,"name":"Banner Ads","otherData":"{}","contentFormat":2,"content":"\n
\n \n \n \"Amazon\n \n
"}}},"blogDetails":{"isWriter":false,"likes":0,"isLikedByUser":false,"tagIds":[9,116,175,176,287],"tags":[{"id":9,"name":"SQL","maskingName":"sql","isFeatured":true},{"id":116,"name":"Optimization","maskingName":"optimization","isFeatured":false},{"id":175,"name":"Query","maskingName":"query","isFeatured":true},{"id":176,"name":"SQL JOIN","maskingName":"sql-join","isFeatured":true},{"id":287,"name":"Performance","maskingName":"performance","isFeatured":false}],"comments":[],"bookmark":{"isBookmarked":false,"count":0},"author":{"userId":"MjlfNF84LVs0OV0ybi10Q19BTmdlX19JdA==","name":"Elias Sterling"},"viewCount":33,"showBannerImage":false,"seoTags":"SQL, query optimization, joins, database performance, execution plan, indexing, foreign key indexes, join order, cardinality, filtering, CTE, subquery, temp tables, materialized views, denormalization, query tuning, EXPLAIN ANALYZE, PostgreSQL, MySQL, SQL Server, OLAP, OLTP, caching, read replicas, database design, performance tuning, large datasets, aggregation, selectivity, query planner","content":"

Joining 10 tables in a single SQL query is a classic this might work… until it doesn’t situation. It can be perfectly valid in a well-designed schema,\nbut it can also turn into a performance bottleneck if the optimizer is forced into large intermediate result sets, missing indexes\nor inefficient join ordering.

\n

Start with the Execution Plan, Not the Query

\n

The first and most important step is to inspect the query execution plan using tools like EXPLAIN or EXPLAIN ANALYZE. This shows how the database\nengine actually intends to join the tables, which indexes it uses and where it is spending most of its time.

\n

In many cases, performance problems are not caused by 10 joins themselves, but by a few inefficient operations like full table scans or bad join order\nselection. Once you see the execution plan, you can identify whether the bottleneck is I/O, CPU or memory pressure.

\n

Ensure Proper Indexing on Join Keys

\n

When you join multiple tables, the most critical factor is whether the join columns are indexed properly. Each foreign key used in a join should\ntypically have an index, otherwise the database may fall back to nested loop scans or full scans.

\n

For example, if you are joining Orders, Customers and Payments, then columns like Orders.CustomerId or Payments.OrderId should be indexed. Without these\nindexes, the cost of joining grows exponentially as table size increases.

\n

In high-performance systems, composite indexes may also be required when joins involve multiple columns or filters applied together. Proper indexing\nalone can often reduce query time from seconds to milliseconds.

\n

Reduce the Dataset Early (Filter Before You Join)

\n

One of the most effective optimizations is reducing the amount of data as early as possible in the query execution process. Instead of joining all 10\ntables and then applying filters at the end, you should ensure that filtering happens at the source tables before large joins are formed.

\n

For example, applying date filters, status filters or region filters early can significantly reduce intermediate result sizes. Smaller datasets mean\nfewer rows being carried through each join stage, which directly reduces CPU and memory usage.

\n

In complex queries, derived tables or CTEs can help isolate filtered datasets before joining them together.

\n

Be Careful with Join Order and Cardinality

\n

Modern databases like PostgreSQL, SQL Server and MySQL have optimizers that automatically reorder joins based on statistics. However, the optimizer is\nonly as good as the statistics it has.

\n

If statistics are outdated or inaccurate, the engine might choose a suboptimal join order, such as joining large tables first instead of filtering small\nselective tables first. This can explode intermediate row counts and slow down the entire query.

\n

Maintaining up-to-date statistics and understanding table cardinality (how many rows each join produces) is essential when dealing with large multi-join\nqueries.

\n

Avoid Selecting Unnecessary Columns

\n

When joining 10 tables, it is common to accidentally select far more data than required. This increases memory consumption, network transfer cost\nand sorting overhead.

\n

Instead of using SELECT *, you should explicitly select only required columns. This becomes especially important when large text or JSON columns are\ninvolved, as they significantly increase row size and slow down query execution.\nReducing projection size often has a surprisingly large impact on performance in join-heavy queries.

\n

Consider Breaking the Query into Stages

\n

If a query becomes too complex with 10 joins, it may be more efficient to break it into intermediate steps using temporary tables or materialized views.

\n

This approach allows the database to:

\n\n

In reporting systems or analytics workloads, materialized views can drastically improve performance when the same joins are executed frequently.

\n

However, this should be balanced against storage overhead and data freshness requirements.

\n

Use Proper Join Types Intentionally

\n

Choosing the correct join type also matters significantly. An unnecessary LEFT JOIN when an INNER JOIN is sufficient can increase the amount of data\nprocessed.

\n

Similarly, outer joins across multiple tables can cause row multiplication if not carefully controlled. This can lead to unexpectedly large intermediate datasets that degrade performance.\nUnderstanding data relationships ensures that joins are semantically correct and performance-efficient.

\n

Denormalization in Extreme Cases

\n

When queries consistently require joining many tables for read-heavy workloads, it may indicate that the schema is too normalized for that access pattern.

\n

In such cases, controlled denormalization can be a practical optimization. This might involve:

\n\n

This is common in analytics systems where query speed matters more than strict normalization.

\n

Use Query Caching and Read Replicas When Applicable

\n

For systems with repeated queries (dashboards, APIs), caching at the database or application level can eliminate the need to repeatedly execute expensive\n10-table joins.

\n

Additionally, using read replicas can offload heavy analytical queries from the primary database, improving overall system stability.

\n

Final Thought

\n

Joining 10 tables is not inherently bad. it is often a symptom of a complex domain model or reporting requirement. The real optimization challenge lies\nin ensuring that each join is necessary, indexed, filtered early and executed in the most efficient order possible.

\n

In practice, high-performing systems rarely rely on a single giant query. Instead, they combine good schema design, selective joins, proper indexing\nand sometimes precomputed data structures to keep performance predictable even as complexity grows.

","categoryId":9,"subCategoryId":9,"contentFormat":5,"blogId":143,"userId":"MjlfNF84LVs0OV0ybi10Q19BTmdlX19JdA==","title":"If You Join 10 Tables in an SQL Query, How Would You Optimize Performance?","url":"if-you-join-10-tables-in-an-sql-query-how-would-you-optimize-performance","bannerImage":"","seoDescription":"Optimizing SQL queries with 10 table joins by using execution plans, indexing, filtering, join order, and denormalization for high performance systems SQLDB","generatedOn":"2026-06-24T10:04:34","updatedOn":"2026-06-24T10:04:34"},"popularContents":[{"id":166,"title":"System Design Interview – BIGGEST Mistakes to Avoid","url":"system-design-interview-biggest-mistakes-to-avoid","description":null,"seoDescription":"Learn the biggest mistakes to avoid in a system design interview, from unclear requirements to poor trade-off analysis. Includes real-world cases, advanced insights and examples to help you ace your next system design interview.","contentType":2,"generatedOn":"2026-10-14T22:52:30.8203473Z","viewCount":0},{"id":172,"title":"Google L4 Software Engineer III interview experience | Selected","url":"google-l4-software-engineer-iii-interview-experience-selected","description":null,"seoDescription":"Google L4 Software Engineer III interview experience with API design, Googlyness, route matching, graph coding rounds, follow-up questions and tips.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8208693Z","viewCount":0},{"id":168,"title":"Amazon SDE-2 Interview Experience (3 Years Experience)","url":"amazon-sde-2-interview-experience-3-years-experience","description":null,"seoDescription":" Read a real Amazon SDE-2 interview experience covering the online assessment, coding rounds, object-oriented design, leadership principles and system design.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8208678Z","viewCount":0},{"id":122,"title":"Zepto SDE-1 Interview Experience (Backend Developer) : Real DSA, LLD, Chess Game Design","url":"zepto-sde-1-interview-experience-backend-developer-real-dsa-lld-chess-game-design","description":null,"seoDescription":" Zepto SDE-1 Backend Interview Experience covering DSA, Dynamic Programming, LLD, API Design, DB Schema, OOP & Product Company Rounds.","contentType":5,"generatedOn":"2026-10-14T22:52:30.82086Z","viewCount":0},{"id":163,"title":"Top 50 SQL Interview Questions and Answers (Beginner to Intermediate)","url":"top-sql-interview-questions-and-answers-beginner-to-intermediate","description":null,"seoDescription":"Top 50 SQL Interview Questions and Answers (Beginner to Intermediate). Top SQL Interview Questions for fresher. Frequently asked SQL interview questions with answers","contentType":2,"generatedOn":"2026-10-14T22:52:30.820342Z","viewCount":0},{"id":213,"title":"Amazon SDE II Interview Experience (Bangalore, Selected) ~ Aug 2026","url":"amazon-sde-ii-interview-experience-bangalore-selected-aug-2026","description":null,"seoDescription":"Amazon SDE II interview experience from Bangalore covering 4 rounds, DSA, LLD, system design, Leadership Principles, coding questions and selection.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8208707Z","viewCount":0},{"id":130,"title":"Rippling SDE-2 Interview Experience (4+ Years Experience) | Offer Received | Coding, LLD & System Design","url":"rippling-sde-2-interview-experience-4-years-experience-offer-received-coding-lld-system-design","description":null,"seoDescription":"Detailed Rippling SDE-2 interview experience with complete 5 rounds, coding questions, rules engine design, system design and preparation tips.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8208637Z","viewCount":0},{"id":153,"title":"Visa Software Engineer 1 (SDE-1) Interview Experience | CodeSignal OA + Graph-Based Technical Rounds","url":"visa-software-engineer-1-sde-1-interview-experience-codesignal-oa-graph-based-technical-rounds","description":null,"seoDescription":" Ace your Visa SDE-1 interview with this complete interview experience covering CodeSignal OA, graph coding rounds, hiring manager questions and tips.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8208652Z","viewCount":0},{"id":167,"title":"Meesho SDE-1 Online Assessment Interview Experience (Remote) - Rejected","url":"meesho-sde-1-online-assessment-interview-experience-remote-rejected","description":null,"seoDescription":"Read a real Meesho SDE-1 online assessment experience with coding questions, DSA topics, solutions, difficulty level, preparation tips and interview insights.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8208664Z","viewCount":0},{"id":165,"title":"Top 50+ SQL Interview Questions and Answers for Intermediate to Advanced","url":"top-sql-interview-questions-and-answers-for-intermediate-to-advanced","description":null,"seoDescription":"Top SQL Interview Questions and Answers for Intermediate to Advanced. Top SQL Interview Questions for experience. Frequently asked SQL interview questions with answers","contentType":2,"generatedOn":"2026-10-14T22:52:30.8203459Z","viewCount":0}],"latestContents":[{"id":219,"title":"6 Tools That Made My Life Easier as a Software Engineer","url":"6-tools-that-made-my-life-easier-as-a-software-engineer","description":null,"seoDescription":"The 6 developer tools I use daily as a software engineer: Git, VS Code, Docker, Postman, Chrome DevTools, and AI assistants, with real tips, mistakes, and trade","contentType":5,"generatedOn":"2026-10-14T22:52:30.81736Z","viewCount":0},{"id":218,"title":"When Should a Business Use Multiple AI Agents Instead of One?","url":"when-should-a-business-use-multiple-ai-agents-instead-of-one","description":null,"seoDescription":"Single agent or multi-agent AI? Learn the 4 signals that justify splitting agents by knowledge, permissions, and risk, plus routing and handoff tips.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173667Z","viewCount":0},{"id":216,"title":"AI in Clinical Trials Market Estimated to Experience a Hike in Growth by 2035","url":"ai-in-clinical-trials-market-estimated-to-experience-a-hike-in-growth-by-2035","description":null,"seoDescription":"The exclusive information about market dynamics serves as a valuable guide to predict economic scenarios and initiatives taken to enhance future growth. Our mar","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173691Z","viewCount":0},{"id":217,"title":"AI in Clinical Trials Market Estimated to Experience a Hike in Growth by 2035","url":"ai-in-clinical-trials-market-estimated-to-experience-a-hike-in-growth-by-2035","description":null,"seoDescription":"The exclusive information about market dynamics serves as a valuable guide to predict economic scenarios and initiatives taken to enhance future growth. Our mar","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173711Z","viewCount":0},{"id":215,"title":"What Happens When an AI Agent Doesn't Know the Answer?","url":"what-happens-when-an-ai-agent-doesnt-know-the-answer","description":null,"seoDescription":"Most AI agents fail quietly. They guess instead of saying \"I don't know.\" Here's how to design better fallback and human-handoff behavior.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173729Z","viewCount":0},{"id":214,"title":"Greedy Algorithms Explained: How They Work, When They Fail and How to Use Them","url":"greedy-algorithms-explained-how-they-work-when-they-fail-and-how-to-use-them","description":null,"seoDescription":"Learn greedy algorithms step by step with C# code Dijkstra, Huffman coding, knapsack and MSTs plus when greedy fails and how to prove it's correct","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173867Z","viewCount":0},{"id":213,"title":"Amazon SDE II Interview Experience (Bangalore, Selected) ~ Aug 2026","url":"amazon-sde-ii-interview-experience-bangalore-selected-aug-2026","description":null,"seoDescription":"Amazon SDE II interview experience from Bangalore covering 4 rounds, DSA, LLD, system design, Leadership Principles, coding questions and selection.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173886Z","viewCount":0},{"id":212,"title":"How to Get 10x Better AI Answers Without Writing Better Prompts : 10 Proven Techniques","url":"how-to-get-10x-better-ai-answers-without-writing-better-prompts-10-proven-techniques","description":null,"seoDescription":"Get better AI answers without complex prompts. Learn 10 practical techniques using context, examples, tools, feedback, and verification.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173908Z","viewCount":0},{"id":211,"title":"I Interviewed for a Microsoft SDE I Role. Here's Everything That Happened.","url":"i-interviewed-for-a-microsoft-sde-i-role-heres-everything-that-happened","description":null,"seoDescription":"My real Microsoft SDE I interview experience, all 4 rounds, the exact DSA problems with fully tested solutions, the WhatsApp system design round","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173927Z","viewCount":0},{"id":140,"title":"PolicyBazaar Software Development Engineer (SDE) Interview Experience | DSA, Core CS & System Design","url":"policybazaar-software-development-engineer-sde-interview-experience-dsa-core-cs-system-design","description":null,"seoDescription":"Detailed PolicyBazaar SDE interview experience covering 3 rounds: DSA coding, core CS assessment and system design with key learnings and insights.","contentType":5,"generatedOn":"2026-10-14T22:52:30.8173973Z","viewCount":0}],"relatedContents":[{"id":176,"title":"Top 50+ Common Table Expression (CTE) Interview Questions & Answers","url":"top-50-common-table-expression-cte-interview-questions-answers","description":null,"seoDescription":"Learn 50+ Common Table Expression (CTE) interview questions with clear answers, real SQL examples and expert tips to crack FAANG and top tech interviews.","contentType":2,"generatedOn":"2026-10-14T22:52:30.8299995Z","viewCount":0},{"id":175,"title":"Common Table Expressions (CTE) in SQL : A in-depth Guide","url":"common-table-expressions-cte-in-sql","description":null,"seoDescription":"Learn what Common Table Expressions (CTE) are in SQL, how they work, syntax examples, benefits and when to use them for cleaner queries.","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300011Z","viewCount":0},{"id":6,"title":"SQL Database Queries","url":"sql-database-queries","description":null,"seoDescription":"sql database queries. Create database SQL command, Show all databases in MySQL,How to delete SQL database, SQL database backup examples\n\n","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300026Z","viewCount":0},{"id":8,"title":"SQL ALTER TABLE Query","url":"sql-alter-table-query","description":null,"seoDescription":"Learn how to use the SQL ALTER TABLE command to add, delete, or modify columns, change data types, rename fields and manage table structure safely.","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300039Z","viewCount":0},{"id":132,"title":"SQL Constraints Explained : Types, Syntax & Real-World Use Cases","url":"constraints-in-sql","description":null,"seoDescription":"SQL constraints are rules that enforce data integrity in tables. Learn what constraints are, types of SQL constraints, how to add them to columns and real-world use cases.","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300056Z","viewCount":0},{"id":164,"title":" SQL Performance Tuning : Advanced Techniques with Examples","url":"sql-performance-tuning","description":null,"seoDescription":" SQL Performance Tuning: A Complete Guide with Advanced Techniques and Examples, SQL Query Performance Tuning","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300069Z","viewCount":0},{"id":125,"title":"Foreign Key in SQL","url":"foreign-key-in-sql","description":null,"seoDescription":"SQL - Foreign Key - In SQL, a foreign key is a column (or a set of columns) in one table that uniquely identifies a row in another table. It establishes a relationship between the parent table (which contains the primary key) and the child table (which contains the foreign key).","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300084Z","viewCount":0},{"id":90,"title":"DELETE Statement in SQL : Syntax , Examples & FAQs","url":"delete-in-sql","description":null,"seoDescription":"Learn how to delete rows from a table using the SQL DELETE statement with example and FAQs. Remove one or multiple records safely using WHERE conditions and examples.","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300098Z","viewCount":0},{"id":89,"title":"UPDATE Statement in SQL : Syntax & Examples","url":"update-in-sql","description":null,"seoDescription":"Learn how the SQL UPDATE statement modifies existing records in a table. Update one or multiple columns safely using conditions with real examples.","contentType":2,"generatedOn":"2026-10-14T22:52:30.8300118Z","viewCount":0}]}}},"source":{"isMobile":false}}; window.__CLIENT_RENDER__ = false;