Articles | Mohamed Said      [Skip to content](#main)  [ ![](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png) Mohamed SaidLaravel Backend Engineer ](https://msaied.com) - [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [About](https://msaied.com#about)

           [  Contact](https://msaied.com#contact) Menu 

Menu
----

Close 

 - [HomeStart here](https://msaied.com)
- [ProjectsCase studies](https://msaied.com/projects)
- [ArticlesEngineering notes](https://msaied.com/articles)
- [CertificatesCredentials](https://msaied.com/certificates)
- [AboutHow I work](https://msaied.com#about)
- [ContactGet in touch](https://msaied.com#contact)

  [Start a conversation](https://msaied.com#contact) [WhatsApp](https://wa.me/201094619204) [Email](mailto:hello@msaied.com) 

  1. [Home](https://msaied.com)
2. /
3. Articles

  Engineering library
====================

 59 articles by Mohamed Said on Laravel, PHP, databases, APIs and infrastructure, written from production work.

 Search articles ⌕×Search 

    Topic hubs
----------

←→

- [AI48 articles](https://msaied.com/articles?category=ai&search=sql&sort=new)
- [Composer Pacakge81 articles](https://msaied.com/articles?category=composer-pacakge&search=sql&sort=new)
- [Filament27 articles](https://msaied.com/articles?category=filament&search=sql&sort=new)
- [Laravel267 articles](https://msaied.com/articles?category=laravel&search=sql&sort=new)
- [Livewire13 articles](https://msaied.com/articles?category=livewire&search=sql&sort=new)
- [Open Source44 articles](https://msaied.com/articles?category=open-source&search=sql&sort=new)
- [PHP27 articles](https://msaied.com/articles?category=php&search=sql&sort=new)
- [Tips &amp; Tricks32 articles](https://msaied.com/articles?category=tips-tricks&search=sql&sort=new)

  Topics
------

 [All topics](https://msaied.com/articles?search=sql&sort=new) [AI 48](https://msaied.com/articles?category=ai&search=sql&sort=new) [Composer Pacakge 81](https://msaied.com/articles?category=composer-pacakge&search=sql&sort=new) [Filament 27](https://msaied.com/articles?category=filament&search=sql&sort=new) [Laravel 267](https://msaied.com/articles?category=laravel&search=sql&sort=new) [Livewire 13](https://msaied.com/articles?category=livewire&search=sql&sort=new) [Open Source 44](https://msaied.com/articles?category=open-source&search=sql&sort=new) [PHP 27](https://msaied.com/articles?category=php&search=sql&sort=new) [Tips &amp; Tricks 32](https://msaied.com/articles?category=tips-tricks&search=sql&sort=new)    59 articles
------------

Topics    Sort articles Newest first  Oldest first  Sort  

 [Search: sql ×Remove search](https://msaied.com/articles?sort=new) [ Clear filters](https://msaied.com/articles) 

  [![](https://cdn.msaied.com/797/2903a8f469c2bc085780ed09b63d2dd9.png)](https://msaied.com/articles/run-large-planetscale-queries-in-laravel-with-dbolap)19 Oct 2026·4 min read 

### [Run Large PlanetScale Queries in Laravel With DB::olap()](https://msaied.com/articles/run-large-planetscale-queries-in-laravel-with-dbolap) 

 Laravel 13.36 adds DB::olap(), a clean way to switch a PlanetScale MySQL connection to Vitess OLAP mode for the duration of a callback, bypassing the 100,000-row and 64 MiB OLTP limits.

 [Laravel](https://msaied.com/articles?category=laravel) 

   [![](https://cdn.msaied.com/790/3b305e067cf21c59b93a26f96786fabd.png)](https://msaied.com/articles/postgresql-window-functions-in-laravel-ranking-running-totals-and-gap-detection-3)17 Oct 2026·2 min read 

### [PostgreSQL Window Functions in Laravel: Ranking, Running Totals, and Gap Detection](https://msaied.com/articles/postgresql-window-functions-in-laravel-ranking-running-totals-and-gap-detection-3) 

 Window functions let you compute rankings, running totals, and gaps directly in SQL without pulling rows into PHP. Learn how to use them cleanly from Laravel's query builder.

   [![](https://cdn.msaied.com/755/2afbdc0a82de6bd61d3739c09554dda0.png)](https://msaied.com/articles/postgresql-jsonb-in-laravel-indexing-querying-and-casting-without-the-mess)8 Oct 2026·4 min read 

### [PostgreSQL JSONB in Laravel: Indexing, Querying, and Casting Without the Mess](https://msaied.com/articles/postgresql-jsonb-in-laravel-indexing-querying-and-casting-without-the-mess) 

 JSONB columns unlock flexible schemas, but misused they become performance traps. Learn how to index, query, and cast JSONB in Laravel with precision — no raw SQL sprawl.

   [![](https://cdn.msaied.com/739/2d6897fdcdcf090613f96f72a64b8a78.png)](https://msaied.com/articles/mysql-full-text-search-in-laravel-indexes-relevance-scoring-and-boolean-mode)4 Oct 2026·4 min read 

### [MySQL Full-Text Search in Laravel: Indexes, Relevance Scoring, and Boolean Mode](https://msaied.com/articles/mysql-full-text-search-in-laravel-indexes-relevance-scoring-and-boolean-mode) 

 Skip the Elasticsearch overhead for most apps. MySQL full-text indexes with Laravel give you ranked search, boolean operators, and phrase matching — all through Eloquent and raw expressions.

   [![](https://cdn.msaied.com/723/6f9c9010ccb06581b52bcfab81e47dd9.png)](https://msaied.com/articles/migrating-pinkary-from-laravel-forge-to-laravel-cloud-an-engineering-playbook)30 Sep 2026·5 min read 

### [Migrating Pinkary from Laravel Forge to Laravel Cloud: An Engineering Playbook](https://msaied.com/articles/migrating-pinkary-from-laravel-forge-to-laravel-cloud-an-engineering-playbook) 

 A code-backed walkthrough of the real issues encountered moving Pinkary from Laravel Forge to Laravel Cloud: SQLite-to-MySQL schema fixes, nondeterministic query rewrites, object-storage assumptions, and purpose-built Artisan migration commands.

 [Laravel](https://msaied.com/articles?category=laravel) 

   [![](https://cdn.msaied.com/720/3e3d256d54dd4036099122e0b035e482.png)](https://msaied.com/articles/postgresql-recursive-ctes-in-laravel-hierarchical-data-without-the-orm-gymnastics)30 Sep 2026·2 min read 

### [PostgreSQL Recursive CTEs in Laravel: Hierarchical Data Without the ORM Gymnastics](https://msaied.com/articles/postgresql-recursive-ctes-in-laravel-hierarchical-data-without-the-orm-gymnastics) 

 Recursive CTEs let PostgreSQL walk tree structures in a single query. Learn how to wire them into Laravel's query builder, map results to Eloquent models, and avoid the classic infinite-loop trap.

   [![](https://cdn.msaied.com/682/ce36e9a53f64f4683147fdbc73e72caa.png)](https://msaied.com/articles/mysql-explain-and-index-tuning-for-laravel-reading-query-plans-in-production)20 Sep 2026·4 min read 

### [MySQL EXPLAIN and Index Tuning for Laravel: Reading Query Plans in Production](https://msaied.com/articles/mysql-explain-and-index-tuning-for-laravel-reading-query-plans-in-production) 

 Stop guessing why your Laravel queries are slow. Learn to read MySQL EXPLAIN output, spot full-table scans, and apply targeted index strategies that actually move the needle in production.

   [![](https://cdn.msaied.com/665/ced6904aad758906b6047d70ea25e267.png)](https://msaied.com/articles/partial-indexes-and-covering-indexes-in-postgresql-a-laravel-developers-guide-1)13 Sep 2026·4 min read 

### [Partial Indexes and Covering Indexes in PostgreSQL: A Laravel Developer's Guide](https://msaied.com/articles/partial-indexes-and-covering-indexes-in-postgresql-a-laravel-developers-guide-1) 

 Learn how partial and covering indexes eliminate wasted index space and redundant heap fetches in Laravel apps, with real migration examples and EXPLAIN output that proves the gains.

   [![](https://cdn.msaied.com/649/9ce340f6d71d0052cb3d0eaba1f08754.png)](https://msaied.com/articles/postgresql-window-functions-in-laravel-ranking-running-totals-and-gap-detection-2)9 Sep 2026·4 min read 

### [PostgreSQL Window Functions in Laravel: Ranking, Running Totals, and Gap Detection](https://msaied.com/articles/postgresql-window-functions-in-laravel-ranking-running-totals-and-gap-detection-2) 

 Window functions let you compute rankings, running totals, and detect gaps in sequences without subqueries or application-side loops. Here is how to use them cleanly from Laravel's query builder.

   ← Newer1. 1
2. [2](https://msaied.com/articles?search=sql&page=2)
3. [3](https://msaied.com/articles?search=sql&page=3)
4. [4](https://msaied.com/articles?search=sql&page=4)
5. [5](https://msaied.com/articles?search=sql&page=5)
6. [6](https://msaied.com/articles?search=sql&page=6)
7. [7](https://msaied.com/articles?search=sql&page=7)

 1 / 7 [Older →](https://msaied.com/articles?search=sql&page=2)   

  Have a technical challenge?
----------------------------

Tell me what you’re building. I reply within two working days.

 [Discuss your project ↗](https://msaied.com#contact) 

Topics
------

Close 

 [All topics](https://msaied.com/articles) [AI (48) ](https://msaied.com/articles?category=ai&search=sql&sort=new) [Composer Pacakge (81) ](https://msaied.com/articles?category=composer-pacakge&search=sql&sort=new) [Filament (27) ](https://msaied.com/articles?category=filament&search=sql&sort=new) [Laravel (267) ](https://msaied.com/articles?category=laravel&search=sql&sort=new) [Livewire (13) ](https://msaied.com/articles?category=livewire&search=sql&sort=new) [Open Source (44) ](https://msaied.com/articles?category=open-source&search=sql&sort=new) [PHP (27) ](https://msaied.com/articles?category=php&search=sql&sort=new) [Tips &amp; Tricks (32) ](https://msaied.com/articles?category=tips-tricks&search=sql&sort=new)  

  © 2026 Mohamed Said · Built with Laravel, meant to last.Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

 - [Home](https://msaied.com)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [GitHub](https://github.com/EG-Mohamed)
- [LinkedIn](https://www.linkedin.com/in/msaiedm/)
- [WhatsApp](https://wa.me/201094619204)
- [Email Address](mailto:hello@msaied.com)
- [My CV](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
- [Sitemap](https://msaied.com/sitemap.xml)
