The mantra of the day is – performance, performance, performance! It is clear that everything needs to be totally available all of the time, function at the fastest speeds and performance as close to perfect as is possible. In all the business discussions swirling around us we hear the words; application performance, website performance, transaction performance, server performance and on and on in regards to virtually everything digital that we live and breath with. Performance is no longer just one of the items we need to be paying attention to, it is THE item we need to be critically aware of every minute of every day! No longer are the words “it’s good enough” acceptable. The impacts to business can be catastrophic if the digital performance of your business is not at the highest levels. So the question we are all challenged with is how can we be sure that the performance levels we need are actually what we are …
[Read more]At VividCortex, the algorithm our agents use to digest queries needs to be fast and reliable. Accurately digesting queries into logical groups is important to providing a useful view of data in the UI - digest too few or too many and it becomes difficult to understand what the Top-Queries view is showing.
Though our algorithm is sophisticated, one of our PostgreSQL clients experienced an issue with query digestion. They had many queries of the form “select a,b,c from table where c = any(values (1), (2), (3)…)” which were not being collapsed correctly.
We recently improved our digest code to correctly digest queries of this form.
In both MySQL and PostgreSQL, “SELECT * FROM t WHERE a IN (SELECT aa FROM tt)” was incorrectly collapsed to SELECT * FROM t WHERE a IN (?). Now, the digest is the lowercased original query text, as there is nothing to collapse or conceal.
These are improvements that help our …
[Read more]TEXT fields are a nightmare. For you and for your server. It is slow to retrieve, and if you are doing searches on it, be prepared, things are going to get bumpy.
If you use MySQL with a MyISAM engine, this may not be an issue
for you, you can create a FULLTEXT index, your only
problem is if you want to add a new column, an alter table can
take forever, since MySQL creates a new table and copies the old
data to the new table. For those who uses MySQL with an InnoDB
engine, prepare because, you’ll have more issues. Indexes
can’t be FULLTEXT and if you do
need an index you must inform the length of it. It defeats the
purpose of you doing the search in that field.
The observation above is only true for MySQL 5.5
or below, since version 5.6 MySQL does support
FULLTEXT indexes on InnoDB – thanks Davey …
Two weeks ago Percona announced it's acquisition of Tokutek
(April 14, 2015). The analyst coverage was a bit fluffy for my
liking, but I decided to give it some time and see if anything
"meaty" would come along, and ... it hasn't. The sheer number of
tweets on Twitter was impressive, which makes
me hopeful that the acquisition raised awareness to the Tokutek
technologies and that the Tokutek products have a found a good
home
I've been thinking a lot about the future of the Tokutek
technologies over these same two weeks and want to share them
publicly. I'm going to cover TokuDB in this blog post, TokuMX in
a few days, and finally Fractal Tree Indexes a few days later.
[Full disclosure: I worked at Tokutek for 3.5 years (08/2011 -
01/2015) as VP/Engineering and I do not have any equity in
Tokutek or Percona]
…
In previous article, we have covered some errors and issues with using MySQL in “disk full” environment. Where there was no space left on device.(See here: Testing Disk Full Conditions)
Today’s scenario is -> Starting MySQL with GTID/binary log enabled, in 0 space left Linux(CentOS 6.5) environment.
If you hit a bug or problem, general rule for helping community to fix it is to provide as much information as possible. Especially useful is to give gdb output from coredump. To get coredump you can read this wonderful article Hunting-The-Core
Now let’s explore our situation. Because our segfault is detected while starting MySQL, it is not possible to attach PID to GDB and also using strace. Our my.cnf file:
[mysqld]
log_bin = …[Read more]
After many months of heavy development and testing, Debian 8 (Jesse) and Ubuntu 15.04 (Vivid Vervet) were released recently.
For those who already upgraded their systems and/or plan do do it in close future, we prepared builds of WebScaleSQL :-)
- http://repo.psce.com/download/webscalesql/deb/x86_64/vivid/
- http://repo.psce.com/download/webscalesql/deb/x86_64/jessie/
You can also install it using PSCE repository.
This Log Buffer Editions brings few of the very insightful blog posts from the arena of Oracle, SQL Server and MySQL.
Oracle:
- How to Increase Performance With Business Events in Fusion Applications
- Advanced Oracle Troubleshooting Guide – Part 12: control file parallel reads causing enq: SQ – contention waits?
- Changing REVERSE Transformations in Oracle Data Miner
- Refresh …
I have recently seen several cases when performance for MySQL queries on a single table was terrible. The reason was simple: the wrong indexes were added and so the execution plan was poor. Here are guidelines to help you optimize various kinds of single-table queries.
Disclaimer: I will be presenting general guidelines and I do
not intend to cover all scenarios. I am pretty confident that you
can find examples where what I am writing does not work, but I am
also confident that it will help you most of the time. Also I
will not discuss features you can find in MySQL 5.6+ like Index
Condition Pushdown to keep things simple. Be aware that such
features can actually make a significant difference in query
response time (for good or for bad).
What an index can do for you
An index can perform up to 3 actions: filter, sort/group and cover. While the first 2 actions are self-explanatory, not everyone may know what …
[Read more]Wanted to send a pointer to the slides from my session at #GIDS 2015.
Will followup with an impressions blog soon.
Our CEO and founder, Baron Schwartz, spoke on encrypting data in MySQL with Go at Percona Live a couple weeks ago. Below are the slides.
If you are interested in learning more about the integration between MySQL and Go, you can register for this webinar.