It’s not quite an Oracle or IBM database yet, but open source MySQL is catching up to the giants in terms of enterprise features. Version 5.0 was released Monday by developers MySQL AB of Sweden and includes for the first time stored procedures that simplify the development of enterprise applications.
are these precompiled stored procedures or is it just a string in a varchar table?? whats the implementation like??
From the article:
“Stored procedures are SQL statements that are stored in a database in compiled form so that multiple applications may access them in a standard fashion. MySQL 5.0’s stored procedures integrate server-side cursor support, and that improves scalability, MySQL officials said in a statement. ”
So unless the article is inaccurate, which is possible, they’re compiled. Being someone whose databases are so basic as not to even fathom a use for stored procedures, I’ve gotta ask; does MySQL, then, have a compiler for these things? Is it compiled to machine code, or is it more of a bytecode?
Which I guess is the same question as above
i only skimmed the article and didnt see that.
precompiled queries, basically its an internal representation of the query.
you parse the query for correctness, and break it down into its parts, cost your query joins etc. and store all that info.
when the query is called, you can load the data straight into your query engine without doing the extra time of parsing, joining, costing, building etc.
the compiler is mysql itself. you can its not so much of a bytecode as an internal representation of the query with hints.
Of course, 5.0 really wasn’t released. It’s only a preview release. 4.1 isn’t even out for production yet.
> Is it compiled to machine code?
SQL is “compiled” to relational alegebra. Relational alegebra is the actual markup language DBs use to understand what to fetch. All SQL is compiled to relational alegbra, and thus so – a significant performance boost will occur if using Stored Procedures since the SQL is already compiled.
Stored Procedures are also particulary useful for security reason on websites. This is because if you have a text input and the results of that text input are saved to the DB, someone could simply put SQL into the text input and corrupt the DB. Stored Procedures solve this problem because it checkes the input before executing.
Other opensource databases have had this and much more for ages. Just that. firebird.sf.net, http://www.postgresql.org.
http://www.mysql.com/products/maxdb/
i suggest you clowns take a look at this before doggin MySQL, if you have been keeping up, MySQL AB has a technology partnership with SAP, they ported the powerful and not so easy to use SAP DB over to MySQL AB and are improving the technology.
in my opinion, SAP DB / MaxDB is a good alternative to Oracle, DB2 and SAL server, moreso than postgresql.
Anyone know of any GUI’s that work with MySQL 5.0 (like the enterprise manager for MS-SQL) that are in development now or are planned for the future?
also:
I am using 2 GUI’s right now with 4.x (MySQL Explorer and Navicat). So far I’ve used MySQL front and a few others that I can’t remember now. Can anyone recommend a good GUI tool that includes a relationship and query builder?
I like MySQL explorer and will drop the coin for it if I can’t find anything better and/or free.
Thanks.
that I’m using Win2k and XP and I’m new to MySQL, like 5 days new
>> Is it compiled to machine code?
> SQL is “compiled” to relational alegebra. Relational >alegebra is the actual markup language DBs use to >understand what to fetch. All SQL is compiled to >relational alegbra, and thus so – a significant >performance boost will occur if using Stored Procedures >since the SQL is already compiled.
Just to mention, I think there are procedural extensions to SQL in discussion, or already implemented, which can not be expressed in pure relational algebra.
Stored Procedures hardly qualifies as an “Enterprise” feature. Don’t get me wrong, no db could call it self ready for the enterprise without stored procedures, but this is an essential feature of a database. MySQL should have included this several versions ago.
And they still haven’t implemented triggers (planned for 5.1.)
Whether or not the open source community is capable of creating an alternative database on par with Oracle or DB2 is a very important test for OSS development methodology.
If OSS never achieves this then it gives credibility to the arguments that OSS techniques are not capable of producing the same level of product that closed-source “cathedrals” can because OSS doesn’t scale well to huge, monolithic codebases (Linux is highly decentralized and modular so it doesn’t count in this regard).
Personally, I am skeptical that the OSS community can achieve this, but I guess we’ll see…
“i suggest you clowns take a look at this before doggin MySQL, if you have been keeping up, MySQL AB has a technology partnership with SAP, they ported the powerful and not so easy to use SAP DB over to MySQL AB and are improving the technology.”
Well, not exactly. They didn’t port anything. They have a partnership with SAP and are marketing SAP DB. They’re not using SAP DB code in MySQL — MySQL AB (the company) now has two products – MySQL (the DBMS) and MaxDB (another DBMS).
Frankly, I’m not so excited about this. MaxDB’s installer is horrible, and its documentation is pretty bad. People have complained about PostgreSQL’s docs, but have you taken a look at MaxDB’s ?