Optimizing MySQL Query Performance with DESCRIBE and EXPLAIN

Optimizing MySQL Query Performance with DESCRIBE and EXPLAIN

DESCRIBE and EXPLAIN statements are two of the most common statements that concerns MySQL performance issues. When you ask people how to optimize a query, the DESCRIBE and EXPLAIN statements are one of the first ones that get mentioned. We will explore them in this article. Understanding DESCRIBE The DESCRIBE statement is primarily used when the need to find out information about each of table’s columns arises. This is how the output of a DESCRIBE statement looks like: Here’s what…

Read More Read More

InnoDB vs. MyISAM – Which One Should You Choose?

InnoDB vs. MyISAM – Which One Should You Choose?

InnoDB and MyISAM are two of the most widely used MySQL storage engines. Each of them has its own pros and cons – we will try to go over them in this article. Briefly about MyISAM MyISAM was a storage engine used in MySQL prior to version 5.5 which was released in December 2009. MyISAM is based on an old ISAM storage engine which is no longer available as of MySQL 3.23 – the Indexed Sequential Access Method engine was…

Read More Read More

MySQL Deadlocks 101

MySQL Deadlocks 101

Sometimes when dealing with MySQL you might come across this slightly frustrating error: ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction This error message covers deadlocks – this is what we will try to explore in this post. What is a Deadlock? A deadlock occurs when different transactions are unable to proceed because each of them holds a lock that the other needs. As a result, none of the transactions succeed. This picture illustrates a…

Read More Read More

Identifying Slow Queries in MySQL: Slow Query Log 101

Identifying Slow Queries in MySQL: Slow Query Log 101

When MySQL performance issues are encountered, one of the first things troubleshooting developers do is identify long running queries and optimize them. We will take a look at a MySQL feature that helps you identify long running queries – MySQL slow query log. Understanding the Slow Query Log In MySQL, the slow query log consists of SQL statements that take more time to execute than defined in the long_query_time system variable. The system variable’s minimum and default values are 0…

Read More Read More

Understanding MySQL: The Power of Indexing

Understanding MySQL: The Power of Indexing

When talking about query optimization, indexing is one of the first topics that gets covered. In this post we will cover the types of indexes, why they might be important, their benefits and cons. Although it’s almost impossible to cover everything related to indexes in one post (the entire subject deserves a book), we will try to dig deeper and figure out the differences of multiple types of indexes and where they might be used. What are Indexes? Indexes (also…

Read More Read More

Slow SQL Queries? Don’t Blame MySQL (yet)

Slow SQL Queries? Don’t Blame MySQL (yet)

SQL queries being slow is one of the main complaints directed at MySQL. Why are queries slow? What’s making SQL queries slow? How to make them faster? We will explore some suggestions which could (hopefully) point developers in the right direction – we will look at optimizing all four CRUD operations – Create, Read, Update and Delete. Understand what You’re Dealing With As far as MySQL is concerned, developers have a few choices when dealing with the RDBMS. They can…

Read More Read More

MySQL and Big Data – Mission Possible?

MySQL and Big Data – Mission Possible?

MySQL is a widely used open-source relational database management system. As much as this RDBMS is widely used though, in certain aspects it is frequently misunderstood. One of those aspects is big data – should you run big data applications on MySQL? Should you use MongoDB? Maybe you should take a look at neo4j or even AWS Redshift? We will try to explore that in this post. Understanding MySQL and Big Data Before we begin diving deeper into MySQL and…

Read More Read More

Exploit.in Data Breach Classification

Exploit.in Data Breach Classification

Preface Data breach classification is a part of BreachDirectory. Data breach classification is made possible by using classifiers that can provide strong assumptions in regards to what’s going to happen next in the data breach world by looking at data. Simply put, this classifier learns from data. The more data is provided, the more accurate the calculations get. Classification – email addresses The following table depicts the probability of email domain usage in the next data breach: # Email Domain…

Read More Read More

Zynga Data Breach Analysis

Zynga Data Breach Analysis

Introduction Zynga is an American social game developer. The company was founded in April 2007 with headquarters in San Francisco, California, United States. The company has a mission to “connect the world through video games”. The company has developed multiple well-known games including Farmville, Zynga Poker, Words With Friends, Mafia Wars and Empires & Allies amongst others. Zynga acknowledged the breach in September 2019 – in total, the data breach contains 206,267,210 records including duplicates and 150,363,954 records without duplicates….

Read More Read More

Edmodo Data Breach Analysis

Edmodo Data Breach Analysis

Preface Edmodo, an educational technology company offering a communication, collaboration and coaching platform to K-12 schools and teachers, suffered a data breach in the spring of 2017. The stolen data includes usernames, email addresses and passwords. After the company found out about the data breach, they contracted third party cybersecurity experts to conduct a full analysis to determine how the hackers managed to access their system. What data is at risk? The breached Edmodo data includes IDs, usernames, email addresses…

Read More Read More