/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySql show create view viser vrøvl.
Fra : Leif Neland


Dato : 22-01-10 15:40

Jeg har i sin tid lavet et kæmpe view, der erstattede en løkke, der tog 15
min, med et view, der laver det samme på 5 sekunder.

Nu skal jeg lave en replikering, så skal jeg lave en mysqldump og en restore
på den anden maskine.

Men mysqldump laver noget vrøvle-sql, når jeg laver export, og "show create
view <navn>":

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`1.2.3.4` SQL SECURITY DEFINER
VIEW `rating` AS select
`ProfilesTrack`.`Profile` AS `profile`,
`Profiles`.`NickName` AS `Nickname`,
((((((5 * (ifnull((select sum(((case `pf1`.`isreal` when _utf8'Ja' then 2
when _utf8'Nej' then -(1) else 1 end) / (1 +
log((timestampdiff(DAY,`pf1`.`LastLoggedIn`,now()) + 1))))) AS `sum((case
isreal when 'Ja' then 2 when 'Nej' then -1 else 1 end)/(1+log(timestampdiff
.... masse sql....
then 2 when _utf8'Nej' then 0 else 1 end)) * (1 / (1 +
log((timestampdiff(DAY,`Profiles`.`LastLoggedIn`,now()) + 10))))) * (case
`Profiles`.`Status` when _utf8'Active' then 1 else 0 end)) AS `h` from
(`Profiles` left join `ProfilesTrack` on((`Profiles`.`ID` =
`ProfilesTrack`.`Profile`))) group by `ProfilesTrack`.`Profile` order by 3
desc

Viewet skal bare lave 3 koloner, profile, Nickname og h, men det vrøvl med
"AS `sum((case isreal when 'Ja' then 2 when 'Nej' " som et alias er jo
forkert...

View'et virker, men MySql kan åbenbart ikke vise det.

Er der andre metoder man kan få et view ud?

Jeg har desværre ikke sourcen til view'et liggende.

Leif



 
 
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste