Developing the habit of consistent exercise is probably going to give you the biggest return on investment in regards to any habit you form simply because exercising regularly and eating healthy is going to directly influence your lifespan, right? So it surprises me how so many people don't take it seriously, so many people struggle with it and in this video I'm going to give you some practical takeaways, some tips that are going to help you make this a part of your life easily. This tip I always give people is to ease into it. So many people get motivated, they get over the moon, they get excited and they want to start exercising especially around New Year's time, right? They get this huge surge of energy and they want to go seven days a week, two hours a day and just kill it, crush their goals. Well, here's the problem with that. That commitment level, that amount of enthusiasm is not going to last, it's not consistent. Your motivation will deplete and what's going to be left behind when it depletes is discipline that's going to ride you through. So if you don't have discipline and you're just writing off motivation, you're just writing off the surge of excitement that you initially, when you're trying to exercise to make it a habit, you're going to inevitably get disappointed when you can no longer stick to that commitment. So ease into it. Don't do two hours every day, six days a week. Try start off with maybe three workouts each week for an hour and 20 minutes or something like that. The next tip I have is to have realistic expectations. People that, you know, get into this whole thing where they want to exercise, they have these unrealistic expectations where they think that they're going to have three chest workouts and they're going to start looking like Arnold Schwarzenegger or they think that they're going to have a few booty workouts, do a few cable kickbacks and they're going to start looking like Instagram models, right? Well, that's not realistic. That's not realistic representation of the world. You need to take your time and see this as like a lifelong thing. This isn't some three month transformation thing. This isn't something you just simply do. You get the body and you jet and no longer hit the gym, no longer work out. This is part of your life. You want to make this a habit. So have realistic expectations and celebrate the small victories. Don't get discouraged when you are not at where you think you are or if you are not making the progress you think you should be making. Make the small victories and it's all about consistency. They will add up in a while, they will add up in the long run. The small victories add up and make huge wins. Okay, next tip is to track your progress. When you can see the results of your hard labor, when you can see that what you're doing is actually paying off, you're going to be that much more motivated to get back into the gym and put in another hard workout. What discourages people or makes people quit from gym is not seeing results, right? So make sure when you start off, take progress pictures every couple of weeks.  Check how many calories you're burning in cardio workouts every time you do cardio. See how much weight you're lifting week by week because what's going to happen is if you stick with it for a couple of months now and you look at your numbers for that month and you refer them back to when you started and you see that there's actually empirical differences, there's the results right in front of you, you're going to be so motivated, you're going to stick with it and you're going to get the bug. Okay, next tip is to have intrinsic motivation, not extrinsic motivation. So what do I mean by this? Extrinsic motivation could be things such as seeking the validation of other people. So you're going to gym simply to get the body so that you can impress a girl or so that you can impress a guy. Now initially this might be a good thing if it actually gets you in the gym but this field is not going to last you because you're going to see that these things are very superficial and they won't last. You want to have intrinsic motivation, you want to be able to self-generate your motivation to go to the gym to improve yourself for you because that's going to last.  All these other people that you're trying to impress are not going to always be there. The consistent variable, the constant variable is you. So develop that intrinsic motivation and do it for you. Okay, the last tip I have for you guys is to have a set routine. As in a set schedule for when you're going to be going to the gym and don't compromise on it. As soon as you start compromising, you plant the seed of doubt and it's going to ruin your chances of making this a habit. As soon as you break the streak. So what I suggest is to use this trick that Jim Carrey made popular. It's basically you have a calendar of the days that you go to the gym and what you want to do is make a cross on each one of those days. So very soon a pattern will appear in your calendar and you don't want to break this pattern. You want to keep this going.  It might be raining outside. You might say it's raining outside, it's cold. I should stay inside the house where it's warm. No, don't listen to that at all. Stick to the routine. Even if you don't have the chance of going to the gym, still get a workout in at home. If you are alive, if you've got room, if you've got the floor, you can workout. You can do some push-ups, you can do some burpees, you can do some sit-ups, you can find a tree, do some pull-ups. There's always chances to workout. Don't give yourself the excuse because once you give yourself the excuse, it's going to be that much easier to give yourself the excuse the next time. And once you do it the second time, it's going to be pretty much guaranteed that you are going to ruin the habit. So be consistent, be disciplined, develop that grit.


the hashtags for all the socials. Hello! So from the remote stage, now comes the talk measuring antenna. Be it LTE or 3D, for all of those you need antennas. How can I adjust my antenna? What's the difference between the cables and what can I do to adjust my antenna? You won't be able to see the person. They prefer not to be shown. Apologies for any breaks. I appear to have a hiccup. So oftentimes people talk about antennas but the hiccups among us tend to take a closer look. Yeah, there are chances to use antennas, optimize them and oftentimes we might wonder what kind of antenna is it and might I use it for a different case or maybe I want to buy an antenna, a Wi-Fi antenna for example and then we want to check, well what are the promises of the seller but are the claims justified? We cannot see radio waves and so we are oftentimes kept in the dark and also when you want to build your own antenna you need to know what you're doing. So we need tools and they have been around for ages, the tools, measuring tools and others but they are quite expensive. Five, six, number five to six digit costs but the good thing is there are affordable options as well. So for example the nano vna it has a range from 50 kilohertz to three gigahertz and you can do a lot with that. It's available with SMA or N. For our software you find radius SMA is usually better but you have to check your application. There are many replicas and also fakes and so we have to be careful and those cost around 80 euro so the originals. So let's check what it looks like. So it's the small box here, a small touch screen, a few buttons two antennas, slots, these little heads for calibration and yeah some cables and with this we can play a little. How it works i will show you. So a close-up there are two ports, the S11 and S21 and S11 is very interesting indeed now and yeah on the side we have the on-off switch. There is a battery as well. I prefer connecting it to a computer when using it because then work is just more comfortable and more precise. So first of all we download the appropriate software. You can find it on github and i included a link at the end in my slides. You can just download it and just run it in case you trust it and then it starts. So this is a program window that welcomes you and first of all we have to define the range we want to measure in and every time we want to change the measuring range we have to recalibrate everything. So it makes sense to first think about what range you want to use. So now we we'll start with Wi-Fi. You have that everywhere in ASP and a laptop. It really got established in the last years. So 2.3 up to 2.8 gigahertz with 250 points. The more points you have the more detail you will have but the longer it will also take. So here it does 250 measurements. So it's a compromise if you want just an overview or if you want the detail if you want a more accurate result. So now comes the calibration. It uses the l in our calibration is for short open and load. So sol calibration. Whenever you buy such a device you should check that those caps are in there because they are quite expensive. So this thing in the middle shorts out the connector. On the left we have the open one that just protects the port from radiation and then we have the load that's on the right here the silver one. It is a bit longer and that has a connection with a defined load of 50 ohm. You just screw it in wait until it turns blue and then you have your three calibration measurements. Click apply and then you have your working levels and can check out the waveforms or the antenna. So if you are working with Wi-Fi for a while your collection starts growing of antennas and others. So these were in my box and some of you might know them or even use them. Those are the more common ones. So what can we see here often when you see antennas you see numbers 5 dbi 8 gbi we cannot see these numbers we cannot check these numbers we cannot see how the antennas radiate but we can see how well they match the frequency but that's important as well. So a low cost classic it's a router for 15 euros and that includes two of these antennas. So Wi-Fi antennas use an inverted SMR plug so you need an adapter and that should be a proper one otherwise your measurements will not be accurate. So now we see two colorful lines both for the port 11 so we see what gets reflected back and we don't want this reflection. So all the power should go via the antenna into the air not be reflected back so this is something we do not want and here we can see the damping or dampening we want a low level here and the other one is the SWR the lower this value and the closer we are to one than I say it is I can put it in a marker and I put in a marker at the zero frequency of the first channel of Wi-Fi that's 2.412 GHz and the marker 2 is in the frequency of channel 13 so that's the highest one we can use the highest one we can use and then one in the middle and now this curve doesn't tell us anything but everything is relatively nice the SWR is okay is okay but not perfect so now that we know the principle we have the 1043 it's a little better and we have improved curves so we have a signal that's not bad that's what we want and we can see theoretical differences between channel one and channel 13 and in channel six it's probably a bit better and in practice you will probably not even notice but this is just a 2.4 GHz antenna it was built for this and that's what they are doing quite well so in a dual band router it can do 2.4 GHz and 5 GHz so unfortunately we can't see the 5 GHz because our device only manages up to 3 GHz but we can check up to 2.4 GHz so and it doesn't quite work as well compared to the 1043 ones but that was just a perception and here we can see it so this is not at 1.3 something but more close to 1.6 so the perceived perception can now be underpinned with some figures and what you can see here the neighboring frequency is where the antenna doesn't really filter anymore doesn't have a filtering effect so these are two three classical antennas as used in Freifunk and I have this 25 year old access point that I found in my basement and what you can see here is a much shorter antenna but that doesn't it's not a problem you can see that the performance is quite good and you can see a clear valley in the data here as well so you can see that there is a separation here you can't fully say that what we're measuring here is the behavior on the emission side not the reception side but normally the transmitting side not the reception side but normally these two are very very much equivalent if it doesn't work that well as a transmitter it won't be a very good receiver either but we won't reach the kind of exactness that we could reach with the professional measuring device but we have a good impression another device that was quite popular in Freifunk times was the pico station 2.4 gigahertz all around transmitter so just the image here the chart that you see shows a very defined behavior very sharp drop down and if you look at the values on channel one we have about 1.1721 that is a very good value and the best spot is 121 really so that's the best antenna in the wi-fi area that I've come across it has to be said and it's a very small inconspicuous device it doesn't always have to be the 30 40 centimeters long antenna sometimes this is enough it depends on what you want to get to but these are things that we don't have to talk about at this stage we're just looking how well does it fit the frequency on which we want to speak so let's check the dual band follow-up from the same producer and again performance really drops it 2.4 gigahertz that's just because of the principle you can't have an antenna that is great at multiple frequencies okay something with the cable now because putting an antenna in with a cable is nice you can you are more flexible with a placement and yeah it looks okay but this doesn't say anything about the dampening of this small cable so it might not make a good antenna and something that is more directed and here this you can work with there's a small valley but not not a big one but i can tell you it works it still works i used it for many years and back then when d-link builds something tp link had to have a clone so yeah you have you get the image but we don't only have wi-fi that is pretty simple with one frequency but lte as well and that's a very special topic i have a simple antenna here but there are so many lte bands that the antenna has to work in and i have to say for being such a small contender it worked quite well with 1800 but also with 800 megahertz just for example but looks okay it looks quite quite nice and that's not trivial to develop such a thing and of course if you are cbr um no if you are just in radio equipment in general you will also have these and baufeng uv 5r it's supposed to work with 70 centimeters up to two meters and the antenna well with 70 centimeter wavelength it's okay two meter back down here you can't really use it and if you ever wondered why it doesn't work well now you know and we do other things as well and we have a pcb antenna and you can see it doesn't always have to be a wire it can be a pcb as well there are many advantages it's easy to produce them quite precisely and it's cheap and it's small and as you see the performance is okay but always just buying things is boring we can create we can make so this classical ground plane antenna for example and we can calculate the different lengths and there are online calculators as well but building it properly is difficult it's easier to make it a bit longer and then you measure it and shorten it accordingly okay here the swr is blue now but that that looks good so how can i use this for building an antenna i show it with a ground plane for lora and it's built exactly the same way so we have a target frequency of 868 megahertz so the values are not perfect yet but not too bad either so the sweet spot is with 753 megahertz and now we modified the antenna made it a bit shorter and the sweet spot moves up still a bit further now we are at 808 so well if you shorten it even further we get to to an area where it starts to be okay but yeah that's more an art than a science because if you keep shortening in it you can't make it any longer but of course you can always exchange the wire for a new one that's the advantage of making it yourself and yeah so it's relatively easy to make a proper antenna for a little money yourself now another bought antenna a proper one from seafaring people an ais antenna that's both for positioning but also for voice over radio and 160 161 megahertz it's great and for in the two meter band for voice over radio it's also good so you know this is a good antenna of course you can do more than just look at antennas because usually you will need a cable to the antenna that's the reason why we have two slots or two ports here the left and the right one so we need an s o a l t calibration here now we now only not only have the short open load values but also the through value so if we send something in how much reaches the end so we have this cable short cable that we use to connect it to and yeah so if we put a cable in like this we can check it i have a three meter cable with sma plugs that i built myself and yeah so here i can check if i made everything right or if i screw it up somehow and i checked at 1090 megahertz because it's relevant and yeah the values look good or you might wonder is that a good value and if i check the datasheet the cable is supposed to have a damping of 55.5 db on over 100 meters and if we do that calculate that on our length and the plugs have 0.2 db we have two so and the sum we would expect 2.1 db and that's more or less what we get because it would be bad if we measure and measure and our measurements are wrong so it's nice to have a plausibility check here such a cable rather simple we can now check different lengths but we can also check filters and filters are really exciting in the sdr area software defined radio per definition it has a huge range of the receiver where it's um receiving but if you want to select just a certain range and nothing else you will need a filter but everything else all the things around your target area can really mess up the measurements and there are two times of filters there are those bandpass filters and bandstop filters so here this is classical radio FM so if you have a radio sender next to you a radio station next to you you might not want to receive that so yeah we now create this filter send in the signal and check what comes out so the red line is interesting here and this is what passed the filter in the beginning here it dampens almost nothing then it starts working and here where it filters with at least minus 60 db that's quite usable but i would say it's a bit much shifted towards upwards we would have to check the details here i would accept to start 5 to 6 megahertz earlier but it looks quite clean you can get them everywhere you can sometimes even order them cheaply but you never know if they really work because it's a lot of components and yeah sometimes we want to know why doesn't it work so the bandpass in opposition here it only lets a certain frequency range through until you can see that in this area where it shouldn't let anything pass it has at least 50 db damping and then here it's a very small damping where it should let everything pass it's a rather broad one but that's okay because it should address two bands this is what it shouldn't look like i thought well it doesn't really work but i don't know why that i got this device and thought well let's measure it and you can see quite well here the minus 50 db that area is okay but where it should perform with 1090 megahertz we are at least at minus 18 that's unusable so i didn't know before i could just guess because of the performance now i know and basically that's it i hope it was interesting for at least a few of you maybe it's a device you could use and it brings light into the dark the software is in the github here if you want to see more grass you can enter check our wiki the ads barrier wiki if you want to talk to us we have mumble if you want to check out what we do with sdrs check our website if you have questions ask questions as there will be a breakout session as well if i can find it and yeah that's that's it yeah thank you very very much for this very interesting talk about technology very spot on with the timing and we have a few questions so there was a question about the graphs somebody would like to know the red and the blue curve what exactly they mean maybe you could explain it a little more yeah i'll go one slide back red and blue does not have fixed meaning you can just assign that up here one is red the other is blue and here in this example so i have to two ports the left sends the signal through the cable and the right port receives it and the left port here that's s11 i assigned blue and s21 i assigned red so on the red line i see what gets out what what comes out that's very interesting for checking cable because that's what goes out and what is received on the other side and the blue is what i'm sending uh what what gets received on the sending port so whatever is reflected by the cable so if i send something out sometimes the cable reflects it back and i want as little reflection as possible so whenever i check an antenna i can only check reflection then because i don't have a receiving port and i want as little reflection as possible so ideally that's zero i hope that answers the question yeah i hope so as well now the next question how would i measure a pcb antenna that is directly sorted to a tx chip it's difficult without soldering there isn't much you can do and if you then apply a cable and a plug it also falsifies the measurement so it's just difficult that's just the way it is okay someone would have liked to see a shit show of really bad antennas from ebay what's gammas and is there something you could provide well yeah i didn't want to buy bad antennas so i just grabbed what i had in my basement and even the no names that i thought would surely suck it performed almost decently so yeah okay but if someone bought it on accident maybe they can contact you and send it to you before they throw it away okay one more question could you also put two at the same antenna so two of the same antenna on the two ports i'm not certain i get the question correctly but i would say the right port cannot send the left port can send so i can only check antennas with the s11 yeah i can only check one after the other yeah so maybe that it receives the send signal no no no so we have a very small energy input and that signal will probably not be enough to be received on the other antenna yeah so the air would dampen it too much probably yeah okay then we have some time left i don't know if there is anything left well we could build a calibrated shield box but that would be a lot of work wouldn't it to make measurements yeah you can you can put in as much work as you like but then you could just buy better hardware i just like to avoid cables and avoid having a strong transmitter right next to it and then it works usually to get a feeling for what you have it's not 100 accurate it's not 100 scientifically correct but it's okay so if you compare work and effort and money input i would say it takes you 90 percent there thank you very very much also for answering the questions if there are no more questions coming in we could end this here and yeah well the audience can applaud you but only virtually if people have further questions that is the option of a breakout room the link is in the schedule and we will now continue we will continue at 5 p.m. with data ethics in the smart city oh one last minute question how can i can you find out uh the the which degree in space the s12 transmits well you can't figure that out you can't okay well thank you for the


So an electrochemical cell, a simple galvanic cell is a battery and they're made up of two half cells and that's what we're going to focus on drawing today. In order to figure out how to draw the half cells, you need to know some information about the reactivity of the components inside the half cells and also things like solutions, they can help you out as well. You need to be able to figure out which side is going to be the reduction side and which side is going to be the oxidation side. So let's do some example questions. So in this question it says you have a metal activity series here. So we've got calcium being the most reactive, cadmium being the least reactive. It says the diagram represents a cell set up. We've got magnesium and nickel. You need to label the electrolyte, anode, cathode, salt bridge, direction of ion flow and salt bridge and direction of electron flow in the cell. And then right suitable equations for the reactions occurring and classify them as oxidation or reduction. So let's get started with that. So the first thing we're going to do is do our labeling and then we'll do the equation. So we'll start with the electrolyte. The electrolyte is just the solution that's inside. We weren't told in the question what the solutions are but they're solutions of magnesium and nickel solutions. So inside this side we're going to have magnesium 2 plus aqueous and over here we're going to have a nickel 2 plus aqueous. Okay so labeled the electrolyte. Now we need to determine which side is anode and which side is cathode. So if we go back to our activity series that we're told here, we're told magnesium is more active than nickel. So the more active metal is the metal that is oxidized and anode, the anode is the electrode and oxidation occurs. So our magnesium side here so this is going to be our anode. That means the nickel so it's less reactive so it's going to be reduced. So the nickel ions are going to be reduced. So the site of reduction is the cathode. So this is going to be our cathode over here. All right salt bridge. So here's the salt bridge in the middle. Then we need the direction of ion flow in the salt bridge. So there's going to be a positive ion and a negative ion and we need to determine which side they go to. So as the magnesium over here is oxidized you get an increase in concentration of magnesium ions in the solution in the electrolyte. That makes this overall gives it an overall positive charge. So to get rid of that overall positive charge that means the negative ion in the salt bridge has to go in that direction into the magnesium electrolyte. Over here at the other side we're going to get an increase in negative ions as the nickel ions are reduced to solid nickel. So it's going to get an overall build up of negative ions in there. So the positive ion has to go in that direction. We also need to do the direction of electron flow in the external circuit. In our galvanic cell it goes from anode to cathode. So we're getting a whole heap of electrons being generated down here. They don't like each other they repel. So they move away from each other through the external circuit in that direction. So the electron is going this way and then the electron is going that way. The last part of the question says write suitable equations for the reactions that occur in each half cell and classify them as oxidation or reduction. So at our anode we've got our magnesium that's being oxidized. So we're starting with magnesium and oxidation is lost. So the magnesium is losing to electrons. And the magnesium is going into solution as magnesium ions. So it's going in as aqueous. So that means that at our nickel cathode over here the nickel ions are being reduced. So nickel 2 plus aqueous. So the ions are being reduced. They're gaining electrons and you're making a solid nickel. So the nickel ions are coming out of solution. They're being reduced to solid nickel metal. Now we need to identify which one is oxidation. So in this case the magnesium oxidation is lost. So that's oxidation and the nickel ions are being reduced.


Hello everyone. I'll be talking about how to improve the performance of order by limit queries in MariaDB and what has been the history of order by limit queries in both MariaDB and MySQL. I work as an optimizer developer in MariaDB Corporation. I've been involved in the company for the last three years almost. So let's start. So now this part would be the history and then I'll talk about what is new in MariaDB 10.5. So to handle order by limit queries, what are the ways which we can do it? One thing is that we use an order index. The order index can be used in three ways. You could have a ref access where you could have some key part equal to constant and then with the remaining key parts, the rows would be ordered. Something similar would also happen with range scan. And with index scan, you cannot have an equality. So it would just be a normal index scan on the index. Second case would be file sort. File sort would have two ways how we have it. Either you sort the first table and then do the join with the remaining tables or you put the entire join inside a temporary table and then sort the temporary table. So this is the case, the first case that we will use with an ordered index. So the records from this table would be ordered by the order by clause if the index can resolve the order by clause and then you perform the join with the remaining tables. The important thing is while doing the join, you cannot use join buffering. An example would be because join buffering breaks the ordering. So you have to make sure that join buffering is disabled. Second would be if you have a descending clause in the order by clause, then you have to make sure that descending is for all the key parts of the index that is mentioned. Also with this approach, you can shortcut the join execution. You do not need to compute the entire join. You can stop as soon as you get the number of records mentioned in the limit. Now this would be the second case where you apply file sort on the first non-constant table. So here you read from table T1 and pass it to file sort and then you read the output of file sort and then perform the remaining join. So it is almost similar to how we have with an ordered index that again you cannot use join buffering. Another important thing would be any condition that is dependent on the first table would be computed before sending the output to file sort. You see if this approach is working in explain for example you will see using file sort in the first column of the first row in explain and again this is also another way in which you will be able to shortcut the execution with limit because the rows would be ordered already. Now this comes the third part where we try to perform the entire join first and then put the records inside the temporary table and then pass the temporary table to file sort and then we get the ordered output. To apply the limit you cannot shortcut the join execution. You have to compute the entire join and then only when you do file sort then you can shortcut the execution of file sort that you just as soon as you get the limit records you tell the file sort to stop and you are done. With this case there is no issue with using join buffering or any type of join order is not allowed but the main drawback for order by limit queries is that limit cannot be applied before and you have to compute the entire join and only then you can apply the limit. So this will this could be very inefficient for smaller limits and in explain the first row again shows using temporary using file sort which means that you are using temporary table and then doing file sort. Now what do we currently not have in the order by limit optimizer? We currently don't take the cost of sorting limit is not taken into account and the only way in which we are able to shortcut the join execution is after a join order is picked we check if a use of an index can be done to shortcut the join execution or if there is something like equality propagation you could do so that you could just file sort by the first table that you picked by the join order here. But the join planner doesn't take limit into a consideration these are all the things done after the join planner has picked the join plan. So here is an example we have a order by a particular column on which we have an index the join optimizer picks a strategy where we use to compute the entire join and then do file sort which has an executions time of 25.2 seconds. Now if I try to force a particular join order using straight join then you can see that here a t fact is using an index on column 1 to do the join execution and the execution time is like 30 milliseconds yeah. So if the join optimizer had any idea that with this index we could shortcut the join execution we could have come up with a better execution plan. Now here is another example where you have again order by t0.d but you don't have an index on this column the join optimizer again picked an approach where it was using temporary table plus file sort. Now if I try to force the join order now in this case it is using file sort on the first table and again it is because it is using file sort on the first table the output is ordered it can just go ahead and shortcut the execution as soon as it gets the limit record. No need to compute the entire join again. Now what is new in MariaDB 10.5 is we are coming with a cost base optimization where the join planner would take into consideration both the cost of sorting and the limit. So motivation wise both pushing the limit and cost of sorting and again the main thing that I have been emphasizing we want to shortcut the join execution for limit. So to consider the limit we try to push the limit now how the limit is pushed is we try to find a join prefix that can resolve the order by clause that is the prime condition that you can sort the prefix with the order by clause and then you can just push the limit. So inside the join planner code we apply the sort operation here and then we push the limit. So how is pushed the limit calculated? So what exactly is meant by push the limit is you find a prefix by which ordering can be resolved and then the records in the prefix when you push the limit you will only read a fraction of those records and this fraction is how this fraction is how we consider by taking limit into account. So this is the prefix which can resolve the order by clause. This is the total join cardinality and then you have limit. So this is the number of this formula would give us the number of records that we would read from the prefix that can resolve the order by clause. So to push the limit first you need the estimate of join cardinality. So we run the join planner once to get the estimate of join cardinality currently. Also you have axis methods like indexes that I was talking about that already have the ordering that have already all the records ordered. So these are also considered during the join planner stage. Now this will be a bit technical. So for each joint prefix you have two conditions. If that prefix can resolve the order by clause you can either push the limit at that very instance or you can extend the prefix by another table and then push the limit. Why do we do this is we want to consider all possible plans where we can push the limit. Also equality propagation earlier equality propagation is always done after the join planner has picked the plan. Now equalities are propagated before. So if you have a joint prefix like this T2, T3 and you have an order by clause by T1.A and there is an equality. So we would consider pushing the limit both after this plan and after this plan. So the equalities of the where clause are propagated and considered by the join planner. Now how does the join execution work? So as soon as we have a prefix that can resolve the order by clause we try to materialize the prefix and put the records inside a temporary table. Then we sort the materialized table with the order by clause and then from the output of file start we start reading one by one and then we join with the remaining tables and again the execution again stops as soon as the records are found. So again by this we are not computing the entire join. So this is how the execution path exactly looks. You have tables in the prefix, you materialize the result and put them inside the short nest. Joint buffering is allowed for all these parts because these are coming before we are performing the order by clause. Plus conditions, the conditions that are dependent only on these tables are checked beforehand, rest are attached to the later tables. So the short nest you have, you push, send the records to file sort and then you start reading file sort output and join with the remaining tables. Again now it is similar to the example where we had, we had file sort on the first table and then we were doing the join. So again no join buffering is allowed over here and the execution will stop as soon as the limit records are reached. So here is an example where we will be using a short nest. So you have an order by clause on two tables. So if you see in the explain it shows a short nest here which is materialized result of nation and customer table and so this is and then you can see that we are applying file sort on the short nest. Another interesting part is if you can, if you look at this condition for order tables it will not know anything about the customer key. So it needs to refer to the fields of the short nest and not of the base table itself because the base tables are now not at all over there they are all referring to the short nest table fields. So this was one of the examples that I was demonstrating earlier where I was showing the limitation. So we have again the same case where we have a key on column one and this was earlier using temporary table plus file sort but after this optimization it is able to use an index on column one to do the join execution and it provides a 1900x speed up for this case. Also here is another query where with the dbt3 data set which I created here. So again the execution time which was picking temporary table plus file sort earlier is now picking an index to do the join execution and short cutting the join execution as soon as the limit records are reached and again providing a significant speed up. So the most important part for the optimizer to pick any plan is the selectivity of the conditions. This approach that MariaDB has taken for order by limit optimization heavily, heavily depends on the selectivity of the conditions. So if someone wants to use it I would suggest at least use histograms to provide the selectivities to the optimizer because otherwise the estimates can vary a lot and when we push the limit then that can give us plans that are not that good. Also another limitation is that we have few predicates for which selectivity is not known. So what we try to do is we predict the selectivity as 100% but we have discussed internally in the team to maybe add some penalty for such cases because if this condition is highly selective then using a shortness or using this new optimization can be harmful for us and again this part that the estimate of joint cardinality are very pessimistic. We over predict everything so again when we push the limit then our estimates can be very optimistic instead of being pessimistic. Yeah that's all. Thank you. Questions? No, I didn't get the complete question. Can you repeat the question? Yeah? Yeah? No but the where close would be evaluated beforehand before you do the order by close if the tables are inside the shortness. That is the case that the conditions you have in the shortness more rows and then when you are joining with the remaining ones you are not finding enough rows to match that may be an overestimate case but if you give the optimizer the right selectivity estimates I think so it can make a smart decision and maybe include the order stable inside the shortness. Yeah if for such cases then I don't think so this optimization would work that well.