Being a terminal fan myself, I usually find myself running
queries in the mysql client instead of a UI interface as it is
much faster. You get to see the results instantaneously.
One thing which is pretty tedious is editing a big query again
after once running it as the whole multi-line formatted query now
appears on a single line, thus reducing its readability.
But no problems, you can edit your query from a file and run the
file from your mysql client terminal as many times as you want
with as many edits.
To do so, follow the below steps:
1. Open your terminal and cd into the folder you want to
store our sample mysql file. Then save your query in a sample
file called my_query.sql
$ cd /path/to/folder
$ vim my_query.sql
Save a sample query like:
SELECT * FROM employees
WHERE type LIKE …
I’ve previously covered MySQL 5.6 on POWER (with patch), MySQL 5.6 Performance on POWER8 (spoiler: new performance record) and MySQL 5.7 on POWER.
Of course, The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions. Also, these numbers should be considered preliminary, but trust me – I did get them and it’s not April 1st.
From my last post, you saw that with my preliminary patch for MySQL 5.7 to work on POWER, we could easily match the previous record for sysbench point select …
[Read more]
The Oracle Database 12c documentation says you can set
the maximum size of a VARCHAR2
to 32,767 bytes.
That’s true except when you’re trying to map a large Java string
to a VARCHAR2
. It fails when the physical size of
the Java string is greater than 4,000 bytes with an
ORA-01002
or fetch out of sequence error.
SELECT read_text_file('C:\Data\loader\Hobbit1.txt') * ERROR at line 1: ORA-24345: A Truncation or null fetch error occurred ERROR: ORA-01002: fetch out of sequence |
You need to grant privileges before you can test this code. You
can grant privileges by connecting as the SYS
user
of a CDB (or non-multitenant database) or as the ADMIN user of a
PDB with the AS SYSDBA
clause. Then, you run the
following command to grant external file access to the JVM inside
Oracle Database 12c:
The MySQL Utilities Team is pleased to announce the latest
release candidate (RC) release of MySQL Utilities. This release
includes a number of improvements for useabilty, stability, and a
few enhancements. A complete list of all improvements can be
found in our release_notes.
New Utilities!
We have also included two new utilities.
- The mysqlrplsync utility was added, which checks data consistency between servers in a replicated setup.
- The mysqlrplms utility was added, which provides round-robin multi-source replication (a slave server continually cycles through multiple masters in order to store a consolidated data set).
How Can I Download MySQL Utilities?
You can download MySQL Utilities 1.4.2 from the following link
using one of the pre-built …
I've completed a new release of the Connector/Arduino! The new
release contains some major improvements with memory
handling.
- The library has been trimmed to save memory.
- Static strings moved to PROGMEM strings
- Unused structures removed (e.g. ok_packet)
- Moved two more methods to optional compilation
- The WITH_SELECT is turned *OFF* by default. If you want to use select queries, be sure to uncomment this in the mysql.h file.
- Added a CHANGES.txt file to track changes between releases.
Memory, What Memory?
If you have used previous versions of the connector in medium to
large sketches or have long query strings or even many variables,
chances are you have hit the memory limit for your wee Arduino
board.
This can manifest itself in a number of ways. Most notably, the
sketch may work …
I want to teach you the difference between an inner and an outer join. We first need to think about what a join is. Simply, it’s when you combine two tables to make a new one. You’re not physically creating a new table when you join them together, but for the purposes of the query, you are creating a new virtual table. Every row now has the columns from both tables. So if TableA has columns Col1 and Col2 and TableB has columns Col3 and Col4, when you join these two tables, you’ll get Col1, Col2, Col3, and Col4. Just as with any query, you have the option of including all columns or excluding some, as well as filtering out rows.
Inner join. A join is combining the rows from two tables. An inner join attempts to match up the two tables based on the criteria you specify in the query, and only returns the rows that match. If a row from the first table in the join matches two rows in the second table, then two rows will be …
[Read more]Over the past few years, we’ve seen MySQL technology advance in leaps and bounds, especially when it comes to scalability. But by focusing on the internals of the storage engine for so long, MySQL has fallen behind regarding support for advanced SQL features.
SQLite, another popular open-source SQL database, just released version 3.8.3, including support for recursive SQL queries using the WITH RECURSIVE syntax, in compliance with SQL:1999.
Why is this significant? It means that MySQL is now the only widely-used SQL implementation that does not support recursive queries. Fifteen years after it was defined in the SQL standard, almost every other SQL database of note has supported this feature:
- …
During FOSDEM PGDay I watched the "Indexes: The neglected
performance all-rounder" talk by Markus Winand. Both his talk and
the "SQL Performance Explained" book (which is also
available
online) are great.
The conclusion of the talk is that we should put more effort in
carefully designing indexes. But how can we make sure the indexes
are really used now and in the future? We need to write some
tests for it.
So I wrote a small Python script to test index usage per query.
This uses the JSON explain format available in MySQL 5.6. It's
just a proof-of-concept so don't expect too much of it yet (but
please sent pull requests!).
A short example:
[Read more]
#!/usr/bin/python3
import indextest
…
Not too long ago I attended a talk about a database called Datomic. My overall impressions of Datomic were pretty negative, but this blog post isn’t about that. This is about one of the things the speaker referenced a lot: immutability and its benefits. I hope to illustrate, if only sketchily, why a lot of sophisticated databases are actually leaps and bounds beyond the simplistic design of such immutable databases. This is in direct contradiction to what proponents of Datomic-like systems would have you believe; they’d tell you that their immutable database implementations are advanced. Reality is not so clear-cut.
Datomic and Immutability
The Datomic-in-a-nutshell is that it (apparently) uses an append-only B-tree to record data, and never updates any data after it’s written. I say “apparently” because the speaker didn’t know what an append-only B-tree was, but his detailed description matched AOBTs …
[Read more]MySQL... We've blogged about MySQL before. Many times. We've shown bad ideas implemented in MySQL here: MySQL Bad Idea #384MySQL Bad Idea #573 But this beats everything. Check out this Stack Overflow question. It reads: "Why Oracle does not support 'group by 1,2,3'?". At first, I thought this user might have been confused because SQL … Continue reading MySQL Bad Idea #666 →