<div>Hello,</div>
<div> </div>
<div>I'm trying do clip some geometry tables (very big) using a donut geometry.</div>
<div>This geometry is the difference between a site area and a buffer area arround de same site.</div>
<div>I wrote:</div>
<div>SELECT r.*, ST_Intersection(r.the_geom, m.the_geom) AS int_geom FROM big_table AS r,<br>     (SELECT ST_Difference(b.the_geom,a.the_geom) as the_geom from (select st_buffer(a.the_geom,buffer_radius) as the_geom from <br>
     (select the_geom from designprocess.dp_zn_boundaries AS r where r.type = site_name) as a) as b,<br>     (select the_geom from designprocess.dp_zn_boundaries AS r where r.type = site_name) as a) AS m<br>     WHERE ST_Intersects(r.the_geom, m.the_geom);</div>

<div> </div>
<div>but it's to slow.</div>
<div>In what order should I do the operation? Intersection, difference, buffer...</div>
<div>Can any one help me.</div>
<div>Thanks,</div>
<div> </div>
<div>júlio</div>