Oh fab. Microsoft claims that free software like Linux, which
runs a big chunk of corporate America, violates 235 of its
patents. It wants royalties from distributors and users.See
http://money.cnn.com/magazines/fortune/fortune_archive/2007/05/28/100033867/index.htm
(Software) patents that (IMHO) shouldn't exist in the first
place, but that's not the point I want to make here. Companies
now need to compete on speed of innovation and "getting it out
there", not on ability to hide, hoard and protect some perceived
advantages. The above will just cost a lot of money, hinder
innovation, annoy users, and in the end everybody loses. What a
sad waste of energy.
The best performance improvement is the transition from
the nonworking state to the working state --John
Ousterhout
Aggressive use of pipeline parallelism is required to tame the
ETL processing window for large data volumes,
and a good ETL tool must provide easy access to this
potent optimization technique.
As we start loading data into the staging tables, we invariably come across bad
source data. Consider the sales payment file shown in the
data …
I finished implementing the missing optional REGEXP function parameters today, all regular expression functions should now work as similar to their Oracle counterparts as possible with the following restrictions:
* The MySQL UDF API predates the extended character set support
added with MySQL 4.1 and so UDF functions have no idea about
charsets and collations at all. As a consequence the functions
for now are always case sensitve by default and are always
assuming their input to be Latin1 encoded
* Only the 'c' and 'i' pattern modifiers for case sensitive and
insensitive matching are implemented yet, the 'm' and 'n'
modifiers for multi line input are not yet supported
* I haven't tested back references on REGEXP_REPLACE() yet. They
may or may not work, as i borrowed the actual implementation from
the PHP source i'm not really sure about whether it takes care of
this or not
Anyway, the REGEXP UDFs are hosted on …
[Read more]Hi. I am doing a select like this in MySQL 5:
select * from foo where bar rlike '(.*),(.*)';
The specific example here is made up. Anyway, I'd like to be able to get to the matched text from bar, like I can with various languages regexp libraries. Is this functionality exposed at all in MySQL? I've looked at the docs and can't see any indication that it is, so this might just be wishful thinking.
Tags for this post: mysql
regexp rlike
select
Related posts: Managing MySQL …
A few people have asked me how fast MySQL Table Checksum is. As with so many other things, it depends. This article shows how long it takes to checksum real data on a production server I help manage, which might give you a rough idea of how long it'll take on your servers.
OSDC is a grass-roots conference providing Open Source developers
with an opportunity to meet, share, learn, and of course
show-off. OSDC focuses on Open Source developers building
solutions directly for customers and other end users, anything
goes as long as the code or the development platform is Open
Source. Last year's conference attracted over 180 people, 60
talks, and 6 tutorials. Entry for delegates is kept easy by
maintaining a low registration fee (approx $300), which always
includes the conference dinner.
This year OSDC will be held in Brisbane from the 26th to the 29th
of November, with an extra dedicated stream for presentations on
Open Source business development, case studies, software process,
and project management. The theme for this year's conference is
"Success in Development & Business". If you are an Open Source
maintainer, developer or user we would encourage you to submit a
talk proposal on the open-source tools, …
Maybe this is obvious, but I post it anyway, just to remind myself should I need it again.
Recently I had to change a table that I had not completely thought through when I first created it. The structure was so simple, I did not think I could do anything wrong with it:
CREATE TABLE `parent` ( `par_id` bigint(20) NOT NULL, `somevalue` varchar(20) default NULL, PRIMARY KEY (`par_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `child` ( `x_parid` bigint(20) default NULL, `value` bigint(10) default NULL, KEY `fk_parid` (`x_parid`), CONSTRAINT `child_ibfk_1` FOREIGN KEY (`x_parid`) REFERENCES `parent` (`par_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
There is a 1:0..* relationship between parent and child. Some sample data:
mysql> select * from parent; +--------+--------------+ | par_id | somevalue | +--------+--------------+ | 1 | Parent No. 1 | | 2 | Parent No. 2 | | 3 | Parent …[Read more]
Maybe this is obvious, but I post it anyway, just to remind myself should I need it again.
Recently I had to change a table that I had not completely thought through when I first created it. The structure was so simple, I did not think I could do anything wrong with it:
CREATE TABLE `parent` ( `par_id` bigint(20) NOT NULL, `somevalue` varchar(20) default NULL, PRIMARY KEY (`par_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `child` ( `x_parid` bigint(20) default NULL, `value` bigint(10) default NULL, KEY `fk_parid` (`x_parid`), CONSTRAINT `child_ibfk_1` FOREIGN KEY (`x_parid`) REFERENCES `parent` (`par_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
There is a 1:0..* relationship between parent and child. Some sample data:
mysql> select * from parent; +--------+--------------+ | par_id | somevalue | +--------+--------------+ | 1 | Parent No. 1 | | 2 | Parent No. 2 | | 3 | Parent …[Read more]
Note: this "script" is a one liner really and not something meant
for general purpose use. It is very specific to my environment so
I take no responsibility of any kind. It is very raw so use at
YOUR OWN risk.
Last year at the MySQL camp, I heard about Paul Tuckfield's
script that pre-fetches relay logs to speed up replication. Since
then I got really interested in implementing it but never got the
time. This year at MySQL conference Paul's script got a lot of
attention again. Since it hasn't been released and I really need
to start testing this on my test server. So I started hacking on
creating a shell script to dig deeper into what's involved. Once
I have that I may work on porting it to other languages.
To make the process of writing this script easier for others in
their favorite languages I thought I will go through what's
involved in creating this script on my blog. That way when you
would like to write an …
I've written before about how to make MySQL replication reliable. One thing I think you need to do to make statement-based replication reliable is eliminate temporary tables. I found an elegant way to replace temporary tables with real tables in the systems I maintain. This article explains how.