Best of MySQL2024

  1. 1
    Video
    Avatar of communityCommunity Picks·2y

    Stop using COUNT(id) to count rows

    Counting rows using COUNT(*) in MySQL is not slow as often believed. It is actually optimized to be the fastest way to count rows.

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    MySQL Visual Explain

    Investigate slow query performance through a simple visualization tool instead of deciphering MySQL's complex EXPLAIN output. Most developers find EXPLAIN difficult to read because it was designed for internal use by MySQL developers to debug and tune query execution.

  3. 3
    Article
    Avatar of gcgitconnected·2y

    🐼 Mastering SQL Joins

    This post explores the concept of table joins in SQL, covering different join types such as inner join, left join, and right join. It also discusses how to identify and handle orphan records in a database.

  4. 4
    Article
    Avatar of hnHacker News·2y

    ChartDB

    ChartDB is a free and open-source database design editor that simplifies the creation of database diagrams. It allows users to import, edit, and export database schemas using a single query, supporting popular relational DBMS like MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and SQL Lite. Features include a visual query editor, the ability to add tables and notes, and exporting diagrams as SQL scripts or images.

  5. 5
    Article
    Avatar of hnHacker News·1y

    outerbase/studio: A lightweight Database GUI in your browser. It supports connecting to Postgres, MySQL, and SQLite.

    Outerbase Studio is a lightweight, browser-based GUI for managing SQL databases, initially built for LibSQL and SQLite but now supporting a range of databases including MySQL and PostgreSQL. It features a user-friendly query editor, a powerful data editor, a schema editor, and a flexible connection manager. The desktop apps for Windows and Mac offer additional support for drivers not feasible in a browser environment.

  6. 6
    Article
    Avatar of devtoDEV·2y

    When to use SQL vs NoSQL

    Choosing between SQL and NoSQL databases can be daunting. SQL excels in data consistency and complex querying, while NoSQL offers scalability and flexibility. Common misconceptions include inflexibility of SQL databases and the lack of transactional support in NoSQL.

  7. 7
    Article
    Avatar of lnLaravel News·2y

    Generate Entity-Relationship Diagrams with Laravel

    The Laravel ERD package allows for automatic generation of Entity-Relationship Diagrams from Laravel models with ease and provides visually appealing results. It offers advanced instructions for excluding tables and generating SVG files. While still under development, users can find installation and usage instructions on GitHub.

  8. 8
    Article
    Avatar of bytebytegoByteByteGo·2y

    How Shopify Manages its Petabyte Scale MySQL Database

    Shopify handles its petabyte-scale MySQL database using innovative techniques to ensure zero downtime, maintain read consistency, and implement efficient backup and restore processes. Shard balancing is used to distribute traffic loads efficiently across database instances. Ghostferry, an in-house tool, assists in database migration with minimal disruption. Data replication is managed to minimize lag, ensuring time-sensitive reads are accurate. Finally, Shopify leverages Google Cloud Platform's persistent disk snapshots for fast and reliable database backups and restores.

  9. 9
    Article
    Avatar of stackovStack Overflow Blog·2y

    Say goodbye to "junior" engineering roles

    Snapshot Reviews aim to evaluate a software team's overall activity using AI to measure task complexity and output. Tasks are rated by difficulty, affecting the productivity scores. This method attempts to provide a balanced view of a developer's contributions beyond mere activity logs.

  10. 10
    Article
    Avatar of lnLaravel News·2y

    Visual EXPLAIN for MySQL and Laravel

    The MySQL Visual Explain tool by Tobias Petry simplifies the analysis of slow queries by providing a visual representation of MySQL's EXPLAIN output. An API and a Laravel package are available, adding methods to the query builder and offering various options to visualize and debug queries easily.

  11. 11
    Article
    Avatar of planetscalePlanetScale·2y

    B-trees and database indexes

    B-trees and B+ trees are essential for efficient data lookups in database management systems like MySQL, Postgres, and MongoDB. They are structured to store key/value pairs in a way that optimizes search operations. MySQL's InnoDB engine relies heavily on B+ trees, where the choice of primary key significantly impacts performance. B-trees are well-suited for large data volumes that need persistent disk storage, and B+ trees offer advantages like storing all values at the leaf level and having linked lists for faster sequential access. Sequential keys generally improve performance over random or UUID keys.

  12. 12
    Article
    Avatar of towardsdevTowards Dev·1y

    Mastering Data Modeling : A Step-by-Step Guide

    Database modeling involves three main phases: conceptual, logical, and physical. The conceptual phase defines high-level business requirements and uses tools like entity-relationship diagrams (ERDs) to represent entities and relationships. The logical phase focuses on normalizing data to eliminate redundancies and improve integrity, while the physical phase implements the design in a specific database system, considering storage structures and indexing strategies. Effective data modeling ensures a well-organized and efficient database structure.

  13. 13
    Article
    Avatar of communityCommunity Picks·1y

    An Elegant NodeJS framework

    Enhance your application's performance with this NodeJS framework that offers multi-store Redis and in-memory cache configuration. It supports MySQL and Postgres databases with a declarative syntax. Built-in error handling, Sentry integration, and elegant APIs for AWS S3 and local storage streamline your development process. The framework also features localization, message queues, a powerful code generation tool, and an integrated HTML mail template system.

  14. 14
    Article
    Avatar of java_libhuntAwesome Java Newsletter·2y

    How to implement a Distributed Lock using Redis

    Handling critical sections in distributed systems can be complex, especially when multiple instances might update the same database. Implementing distributed locking ensures that only one instance performs a critical operation at any given time. Using Redis, both single-instance and Redlock algorithms provide solutions, although they come with their own challenges, such as handling failover in master-replica setups.

  15. 15
    Article
    Avatar of communityCommunity Picks·2y

    Scaling Laravel to 100M+ jobs and 30,000 requests

    This post tells the story of scaling a Laravel app to handle over 100 million jobs and 30,000 requests per minute using Laravel, MySQL, and Redis.

  16. 16
    Video
    Avatar of youtubeYouTube·2y

    Learn SQL Beginner to Advanced in Under 4 Hours

    This post provides a comprehensive SQL tutorial, covering everything from setting up the MySQL environment to fundamental and advanced SQL topics. It includes exercises on data selection, querying, data cleaning, and exploratory data analysis, with two practical projects at the end. The tutorial is designed for beginners and progresses to advanced topics such as CTEs and temp tables.

  17. 17
    Article
    Avatar of hnasrHussein Nasser·2y

    The Internals of a Primary Index

    A primary key uniquely identifies a row and is typically indexed for fast access. Primary indexes are often clustered, meaning they store full rows. Secondary indexes only store row identifiers, requiring an additional lookup of the primary key to retrieve full rows. Postgres is an exception as it does not use a real primary clustered index; all indexes, including primary, point to the row identifier or tuple id. The tuple id in Postgres is unique and allows direct row access with minimal I/O.

  18. 18
    Article
    Avatar of communityCommunity Picks·2y

    How YouTube Was Able to Support 2.49 Billion Users With MySQL

    YouTube used the Vitess MySQL combination to support 2.49 billion users, overcoming scalability issues. Vitess provides an abstraction layer on top of MySQL for simplicity and scalability, using components like VTGate, VTTablet, and a key-value database.

  19. 19
    Article
    Avatar of medium_jsMedium·2y

    Why UUID7 is better than UUID4 as clustered index

    This post discusses the differences between UUID version 4 and UUID version 7 as clustered indexes in a database. It explores the pros and cons of using UUIDs instead of sequential IDs and explains why UUID version 7 was faster than UUID version 4. The experiments and results are presented, along with an explanation of index locality and buffer pool in relation to the performance differences.

  20. 20
    Article
    Avatar of freekFREEK.DEV·2y

    Is it time to ditch MySQL and PostgreSQL for SQLite?

    Evaluate the potential of SQLite as a replacement for MySQL and PostgreSQL in production web applications.

  21. 21
    Article
    Avatar of communityCommunity Picks·2y

    Dockerizing a Golang API with MySQL and adding Docker Compose Support

    Developing and testing APIs locally with databases can be streamlined using Docker. This guide shows how to Dockerize a Golang API with MySQL, leveraging best practices like using lighter base images, multi-stage builds, creating binaries, and breaking down layers. It also covers how to set up Docker Compose to manage the API and MySQL containers, ensuring seamless integration and easy management.

  22. 22
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    APIs with Node.js and Express – Course in Spanish for Beginners

    Learn how to develop REST APIs step by step with TypeScript, Node.js, Express, MySQL, and TypeORM. Discover career opportunities in web development with these technologies.

  23. 23
    Article
    Avatar of alternativetoAlternativeTo·2y

    ServBay 1.4.0 released with MySQL support, enhanced management interfaces, and more

    ServBay 1.4.0 introduces MySQL support (versions 5.1 to 9.0), a new service management interface, graphical configuration options for MySQL, MariaDB, and Redis, and the ability to set MySQL or MariaDB as the default SQL server. The update enhances host configuration with rewrite rules for Laravel and WordPress and supports multiple domains per host. It also adds a one-click Redis cache clear feature, improved login error messages, and updates the ServBay runtime for better stability. Upgrades can be done automatically via the app or manually by downloading the installer.

  24. 24
    Article
    Avatar of asayerasayer·2y

    Building an URL Shortener with Bun

    Learn how to build a URL shortener using Bun, Elysia, and MySQL. Understand the process of converting long URLs into shorter URLs and how to implement features like analytics. Set up your development environment, create data models, and implement the URL-shortening logic.

  25. 25
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Use Object Relational Mapping in Node.js – Optimize Database Interactions With Sequelize ORM

    Databases are crucial for applications, and Object Relational Mapping (ORM) helps streamline their communications. This post explains ORM, its benefits like reduced data manipulation risks and easier database interaction, and demonstrates using Sequelize ORM with a Node.js and MySQL setup. Key steps include setting up a Node.js server, integrating Sequelize, and building a project with CRUD operations. Practical examples are provided to illustrate how ORM improves database management.