If I had to design an API, I'd consider these 12 techniques:
1 Clear Resource Names
2 Standard Methods
3 Idempotency
4 API Versioning
5 Correct Status Codes
6 Pagination
7 Filtering & Sorting
8 Security
9 Rate Limiting
10 Caching
11 API Docs
12 Pragmatic
What else should make this list?
๐ฆ Stop fighting Dockerfiles! ๐ค AWS open-sources ml-container-creator to instantly generate BYOC inference containers for SageMaker. Focus on your ML model, not boilerplate code. ๐ https://t.co/YzPKlhQCOk #AWS#SageMaker#BYOC#MLOps#OpenSource#DataScience
๐ฃ๏ธ No more GenAI lag! ๐ SageMaker AI launches Bidirectional Streaming. Get real-time, two-way dialogue over a single connection (HTTP/2 + WebSocket). โก Perfect for voice and video agents. ๐ https://t.co/rriNF8XC3F #AWS#SageMaker#GenAI#Streaming#LowLatency#AIInference
๐ค The future is Physical AI. ๐ Systems that Understand, Reason, and Act in the real world (The Autonomy Flywheel). Example: Moxi robots saved hospitals 600K hours! Learn the tech: ๐ https://t.co/TBxJN9ngpv #AI#Robotics#PhysicalAI#ML#AWS#Future#DigitalTwins
๐จ AI Fixes SecOps Speed. โก AWS Security now uses an AI Agent to instantly automate evidence gathering (CloudTrail, IAM, EC2). Go from HOURS to MINUTES โฑ๏ธ. Stop digging through logs: ๐ https://t.co/ybig62MesQ #AWS#Security#GenAI#SecOps#CloudSecurity#IncidentResponse#Auto
๐ Keynote speakers announced for #OSSummit Japan, #AIDev & #AutoLinux, December 8โ10 in Tokyo: Linus Torvalds (Creator of Linux & Git), Stefania Druga (Sakana AI), Kazuo Tsubouchi (Honda) + more! View keynote speakers: https://t.co/VDQ9iAFDtU Register: https://t.co/A0hxln4820
Become a full-stack Developer in 4 weeks ๐ง๐ป
This PDF Includes:
โ HTML
โ CSS
โ JavaScript
โ React
โ Node and Express
โ MongoDB
โ Font-end to Back-end Integration
โ Deployment
โ Testing
โ Personal Project
To get it:
- Like, Retweet and Follow
- Reply "Dev"
๐ง๐ผ๐ฝ ๐ฎ๐ฌ ๐ฆ๐ค๐ ๐พ๐๐ฒ๐ฟ๐ ๐ผ๐ฝ๐๐ถ๐บ๐ถ๐๐ฎ๐๐ถ๐ผ๐ป ๐๐ฒ๐ฐ๐ต๐ป๐ถ๐พ๐๐ฒ๐
Here is the list of the top 20 SQL query optimization techniques I found important:
1. Index for query access patterns (composite, selective, covering); not by row count; keep stats fresh.
2. Use EXISTS for presence checks; use COUNT(*) only when you need the count.
3. Select explicit columns; avoid SELECT * to cut I/O and enable covering indexes.
4. Prefer sargable predicates; rewrite slow correlated subqueries with JOIN/EXISTS.
5. Avoid DISTINCT as a band-aid; fix joins/keys; use it only when dedup is required.
6. Filter in WHERE; reserve HAVING for post-aggregate filters.
7. Use explicit JOIN ... ON; avoid implicit joins in WHERE.
8. Use keyset pagination; avoid OFFSET/LIMIT on big sets; for sampling use TABLESAMPLE (if available).
9. Use UNION ALL instead of UNION when duplicates are acceptable.
10. Replace wide OR predicates with UNION ALL only when each branch can seek different indexes.
11. Schedule heavy queries off-peak; apply resource caps/queues if available.
12. Avoid OR in join predicates; use computed columns or UNION ALL when it enables index seeks.
13. Pick GROUP BY when you need grouped rows; use window functions when you need row detail with aggregates.
14. Use derived/temp tables when they reduce work or add stats; beware of blocking pushdowns.
15. For bulk loads: disable/drop nonclustered indexes, batch insert, then rebuild; keep PK/clustered when useful.
16. Use materialized views for slow-changing, expensive aggregates; plan refresh/invalidation.
17. Avoid non-sargable comparisons (e.g., <>) on low-selectivity columns; rewrite to ranges when possible.
18. Minimize correlated subqueries over large sets; prefer set-based joins/EXISTS.
19. Choose INNER vs LEFT/RIGHT by semantics; INNER often performs best when applicable.
20. Cache repeated result sets: temp tables (session), result cache, or materialized views, with freshness rules.
Do you know what is ๐ค๐๐ฒ๐ฟ๐ ๐ข๐ฝ๐๐ถ๐บ๐ถ๐๐ฒ๐ฟ? Its primary function is to determine ๐๐ต๐ฒ ๐บ๐ผ๐๐ ๐ฒ๐ณ๐ณ๐ถ๐ฐ๐ถ๐ฒ๐ป๐ ๐๐ฎ๐ to execute a given SQL query by finding the best execution plan.
The query optimizer works by taking the SQL query as input and analyzing it to determine how best to execute it.
The first step is to parse the SQL query and create a syntax tree.
The optimizer then analyzes the syntax tree to determine the various ways the query can be executed.
Next, the optimizer generates ๐ฎ๐น๐๐ฒ๐ฟ๐ป๐ฎ๐๐ถ๐๐ฒ ๐ฒ๐ ๐ฒ๐ฐ๐๐๐ถ๐ผ๐ป ๐ฝ๐น๐ฎ๐ป๐, which are different ways of executing the same query.
Each execution plan specifies the order in which the tables should be accessed, the join methods to use, and any filtering or sorting operations to be performed.
The optimizer then assigns a ๐ฐ๐ผ๐๐ to each execution plan based on factors such as the number of disk reads and the amount of CPU time required to execute the query.
Finally, the optimizer chooses the execution plan with the lowest cost as the optimal solution for the query.
This plan is then used to execute the query.