June 19, 2013

Post: Statement based replication with Stored Functions, Triggers and Events

… The query inside the procedure gets logged …Query thread_id=15 exec_time=0 error_code=0 SET TIMESTAMP=1323817490/*!*/; INSERT INTO y (value) VALUES(LAST… insert into y (i,value) VALUES(4…in account when we are working with statement based replication. Knowing in advances how MySQL works internally can

Post: High-Performance Click Analysis with MySQL

how you need to query the data.  It is a hard question to answer, and sometimes I‘ve seen it evolve over timeget there, it can change the lifecycle of your application in advance. What about partitioning in MySQL 5.1?  I

Post: Quickly finding unused indexes (and estimating their size)

I want to consider dropping indexes in).  Let’s keep using views so this dynamically updates as our schema changes over time: mysqli.index_name; Now I can query this view to see my indexes: mysqllast_name NON_UNIQUE: 1 COLUMN_CNT: 1 COLUMN_NAMES: last_name 1 row in set (0.03 sec) Now I

Post: The four fundamental performance metrics

MySQL. In the best case, we want to know everything about the system’s activity: we want to know how many things happened, howqueries in the interval. The total time during which queries resided in the system — the “busy time.” The total execution time of all queries — the “weighted time.” We can

Post: The two even more fundamental performance metrics

time is under a millisecond — maybe it’s 50 microseconds, maybe a bit longer. This is common in MySQL servers Iin tenths of a second, I get the following plot: That’s getting pretty crowded, but just trust me when I say that you can

Post: Can MySQL temporary tables be made safe for statement-based replication?

in MySQL 5.1 and later, but most installations I know of are using statement-based replication, even on MySQLLast_Errno: 1146 Last_Error: Error ‘Table ‘test.t’ doesn’t exist’ on query. Default database: ”. Query

Post: Replaying database load with Percona Playback

can measure how a database upgrade, change on my.cnf or schema change can affect the overall performance of your application. In the example Itime to get valuable information: SET GLOBAL slow_query_log=1; SET GLOBAL long_query_time=0; With long_query_time we are logging all queries

Post: MySQL: Followup on UNION for query optimization, Query profiling

how counters have changed. It was quite inconvenient you could only do it on idle box so as in MySQLcan handle what IN can‘t: Lets say we want to show people in appropriate age group sorting by time when they were last

Post: Faster Point In Time Recovery with LVM2 Snaphots and Binary Logs

in time recovery) in case of that ‘Oops’ moment? Let me show you quickly howI can have an angry mob of employees who may not get their salaries on time!). mysql> delete from salaries where emp_no = 10001; Query

Post: The story of one MySQL Upgrade

in MySQL 5.0. There are number of ways the problem can be solved but first we decide to see howquery time differences. In most cases query time differences were not significant or Percona Server 5.1 did better but there were couple of queries